diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index 66e789fa246914..53ddc8365a233b 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -757,6 +757,12 @@ PICS: "Does the device implement an Application Device Type on any endpoint" id: APPDEVICE.S + # Content App Observer Cluster + - label: + "Does the device implement the Content App Observer cluster as a + server?" + id: APPOBSERVER.S + # Actions Cluster Test Plan - label: "Does the device implement the Actions cluster as a server?" id: ACT.S 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 38e4df597aeb7a..fbe4e2b7615d36 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 @@ -391,7 +391,7 @@ tests: verification: | On TH_CR2 send the below command - ./chip-tool pairing open-commissioning-window 2 1 PIXIT.CADMIN.CwDuration 1000 3840 --commissioner-name beta + ./chip-tool pairing open-commissioning-window nodeId2 endpoint PIXIT.CADMIN.CwDuration 1000 3840 --commissioner-name beta Verify the Open commisioning window on the DUT_CE(all-cluster-app) Log: diff --git a/src/app/tests/suites/certification/Test_TC_DISHM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DISHM_1_1.yaml index c45ce0700c179b..24ac427a2cb9c8 100644 --- a/src/app/tests/suites/certification/Test_TC_DISHM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DISHM_1_1.yaml @@ -35,10 +35,11 @@ tests: verification: | ./chip-tool dishwashermode read cluster-revision 1 1 - Verify the "ClusterRevision" value is of unit16 and reflects the highest revision number (2) on the TH(Chip-tool) and below is the sample log provided for the raspi platform: + Verify the "ClusterRevision" value is of unit16 and reflects the highest revision number 2 on the TH(Chip-tool) and below is the sample log provided for the raspi platform: - [1690365584.246794][27436:27438] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0059 Attribute 0x0000_FFFD DataVersion: 1130015440 - [1690365584.246860][27436:27438] CHIP:TOO: ClusterRevision: 2 + CHIP:DMG : } + CHIP:TOO : Endpoint: 1 Cluster: 0x0000_0059 Attribute 0x0000_FFFD DataVersion: 2488070594 + CHIP:TOO : ClusterRevision: 2 disabled: true - label: "Step 3: TH reads from the DUT the FeatureMap attribute." @@ -56,32 +57,31 @@ tests: ./chip-tool dishwashermode read attribute-list 1 1 Verify the "AttributeList " should include the mandatory attributes (values 0, 1), - - Global attributes (value 65533, 65532, 65531, 65530, 65529 and 65528) and + - Global attributes (value 65533, 65532, 65531, 65529 and 65528) and - List may include optional attribute(value 0x0002), if DISHM.S.A0002(StartUpMode) supports, - List contains feature dependent attribute (values 0x0003), if DISHM.S.F00(DEPONOFF) is true on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - [1689930814.439457][300741:300743] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0059 Attribute 0x0000_FFFB DataVersion: 2031856391 - [1689930814.439500][300741:300743] CHIP:TOO: AttributeList: 10 entries - [1689930814.439520][300741:300743] CHIP:TOO: [1]: 0 - [1689930814.439538][300741:300743] CHIP:TOO: [2]: 1 - [1689930814.439565][300741:300743] CHIP:TOO: [3]: 2 - [1689930814.439584][300741:300743] CHIP:TOO: [4]: 3 - [1689930814.439599][300741:300743] CHIP:TOO: [5]: 65528 - [1689930814.439602][300741:300743] CHIP:TOO: [6]: 65529 - [1689930814.439604][300741:300743] CHIP:TOO: [7]: 65530 - [1689930814.439616][300741:300743] CHIP:TOO: [8]: 65531 - [1689930814.439619][300741:300743] CHIP:TOO: [9]: 65532 - [1689930814.439621][300741:300743] CHIP:TOO: [10]: 65533 + [1696402605.599359][7921:7923] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0059 Attribute 0x0000_FFFB DataVersion: 712950283 + [1696402605.599377][7921:7923] CHIP:TOO: AttributeList: 9 entries + [1696402605.599382][7921:7923] CHIP:TOO: [1]: 0 + [1696402605.599385][7921:7923] CHIP:TOO: [2]: 1 + [1696402605.599388][7921:7923] CHIP:TOO: [3]: 2 + [1696402605.599391][7921:7923] CHIP:TOO: [4]: 3 + [1696402605.599393][7921:7923] CHIP:TOO: [5]: 65528 + [1696402605.599396][7921:7923] CHIP:TOO: [6]: 65529 + [1696402605.599399][7921:7923] CHIP:TOO: [7]: 65531 + [1696402605.599402][7921:7923] CHIP:TOO: [8]: 65532 + [1696402605.599404][7921:7923] CHIP:TOO: [9]: 65533 disabled: true - label: "Step 5: TH reads from the DUT the EventList attribute." verification: | ./chip-tool dishwashermode read event-list 1 1 - Verify "EventList" contains a list of supported events, for this cluster the list is emty(0 entries) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + * Step 5 is currently not supported and SHALL be skipped. - [1689996691.141081][359868:359870] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0059 Attribute 0x0000_FFFA DataVersion: 1427220838 - [1689996691.141341][359868:359870] CHIP:TOO: EventList: 0 entries + [1696402636.316151][7926:7928] CHIP:DMG: } + [1696402636.316183][7926:7928] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) disabled: true - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute." diff --git a/src/app/tests/suites/certification/Test_TC_DISHM_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DISHM_2_1.yaml index 45c1d644226b89..5741789c5dd3f9 100644 --- a/src/app/tests/suites/certification/Test_TC_DISHM_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DISHM_2_1.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 263.3.1. [TC-DISHM-2.1] ChangeToModeWithStatus Verification DUT as Server +name: 263.3.1. [TC-DISHM-2.1] Change to Mode functionality with DUT as Server PICS: - DISHM.S @@ -38,6 +38,7 @@ tests: Verify that the DUT response contains list of ModeOptionsStruct entries - Verify that the list has two or more entries + - Verify that PIXIT.DISHM.MODE_CHANGE_FAIL is one of supported_modes_dut - Save the Mode field values as supported_modes_dut on the TH (Chip-tool) and below is the sample log provided for the raspi platform: [1689998005.121163][360287:360289] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0059 Attribute 0x0000_0000 DataVersion: 1994417976 @@ -108,13 +109,13 @@ tests: - label: "Step 5: Manually put the device in a state from which it will FAIL to transition to PIXIT.DISHM.MODE_CHANGE_FAIL" - PICS: DISHM.S.M.CAN_TEST_MODE_FAILURE + PICS: DISHM.S.M.CAN_TEST_MODE_FAILURE && DISHM.S.M.CAN_MANUALLY_CONTROLLED verification: | Manual operation required disabled: true - label: "Step 6: TH reads from the DUT the CurrentMode attribute." - PICS: DISHM.S.A0001 + PICS: DISHM.S.A0001 && DISHM.S.M.CAN_MANUALLY_CONTROLLED verification: | ./chip-tool dishwashermode read current-mode 1 1 @@ -157,12 +158,13 @@ tests: - label: "Step 9: Manually put the device in a state from which it will SUCCESSFULLY transition to PIXIT.DISHM.MODE_CHANGE_OK" + PICS: DISHM.S.M.CAN_MANUALLY_CONTROLLED verification: | Manual operation required disabled: true - label: "Step 10: TH reads from the DUT the CurrentMode attribute." - PICS: DISHM.S.A0001 + PICS: DISHM.S.A0001 && DISHM.S.M.CAN_MANUALLY_CONTROLLED verification: | ./chip-tool dishwashermode read current-mode 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_5.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_5.yaml index dc14b7b47be313..c0c8feb91775cd 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_2_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_5.yaml @@ -19,6 +19,7 @@ name: PICS: - DRLK.S + - DRLK.S.F08 config: nodeId: 0x12344321 @@ -84,7 +85,8 @@ tests: value: null - label: - "Step 1: TH reads NumberOfWeekDay SchedulesSupportedPerUser attribute" + "Step 1: TH reads NumberOfWeekDay SchedulesSupportedPerUser attribute + and saves for future use" PICS: DRLK.S.F04 && DRLK.S.A0014 command: "readAttribute" attribute: "NumberOfWeekDaySchedulesSupportedPerUser" @@ -94,7 +96,9 @@ tests: minValue: 0 maxValue: 255 - - label: "Step 2: TH reads NumberOfTotalUsers Supported attribute" + - label: + "Step 2: TH reads NumberOfTotalUsers Supported attribute and saves for + future use" PICS: DRLK.S.F08 && DRLK.S.A0011 command: "readAttribute" attribute: "NumberOfTotalUsersSupported" @@ -104,7 +108,11 @@ tests: minValue: 0 maxValue: 65534 - - label: "Step 3: TH send Set Week Day Schedule Command" + - label: + "Step 3: TH send Set Week Day Schedule Command to DUT with the + following values : a)WeekDayIndex as 1 b)UserIndex as 1 c)DaysMaskMap + as 2 d)StartHour as 15 e)StartMinute as 45 f)EndHour as 16 g)EndMinute + as 55 " PICS: DRLK.S.F04 && DRLK.S.C0b.Rsp command: "SetWeekDaySchedule" arguments: @@ -125,7 +133,9 @@ tests: value: 55 #issue #18591 - - label: "Step 4: TH send Get Week Day Schedule Command to DUT" + - label: + "Step 4: TH send Get Week Day Schedule Command to DUT with + a)WeekDayIndex as 1 b)UserIndex as 1 " PICS: DRLK.S.F04 && DRLK.S.C0c.Rsp && DRLK.S.C0c.Tx command: "GetWeekDaySchedule" arguments: @@ -157,7 +167,11 @@ tests: hasValue: true minValue: 55 - - label: "Step 5: TH send Set Week Day Schedule Command" + - label: + "Step 5: TH send Set Week Day Schedule Command to DUT with the + following values : a)WeekDayIndex as 0 (invalid value) b)UserIndex as + 1 c)DaysMaskMap as 7 (invalid value) d)StartHour as 15 e)StartMinute + as 45 f)EndHour as 16 g)EndMinute as 55" PICS: DRLK.S.F04 && DRLK.S.C0b.Rsp command: "SetWeekDaySchedule" arguments: @@ -179,7 +193,9 @@ tests: response: error: INVALID_COMMAND - - label: "Step 6: TH send Get Week Day Schedule Command to DUT" + - label: + "Step 6: TH send Get Week Day Schedule Command to DUT : a)WeekDayIndex + as 0 b)UserIndex as 1 " PICS: DRLK.S.F04 && DRLK.S.C0c.Rsp && DRLK.S.C0c.Tx command: "GetWeekDaySchedule" arguments: @@ -213,8 +229,9 @@ tests: hasValue: false - label: - "Step 7: TH sends Get Week Day Schedule Command to DUT for - non-existent User" + "Step 7: TH sends Get Week Day Schedule Command to DUT with following + values: a)WeekDayIndex as 1 (index of existing Schedule entry) + b)UserIndex as 2 (index on non-existent User)" PICS: DRLK.S.F04 && DRLK.S.C0c.Rsp && DRLK.S.C0c.Tx command: "GetWeekDaySchedule" arguments: @@ -247,7 +264,9 @@ tests: constraints: hasValue: false - - label: "Step 8: TH sends Clear Week Day Schedule Command to DUT" + - label: + "Step 8: TH sends Clear Week Day Schedule Command to DUT with : + a)WeekDayIndex as 1 b)UserIndex as 1" PICS: DRLK.S.F04 && DRLK.S.C0d.Rsp command: "ClearWeekDaySchedule" arguments: @@ -257,7 +276,9 @@ tests: - name: "UserIndex" value: 1 - - label: "Step 9: TH sends Get Week Day Schedule Command to DUT" + - label: + "Step 9: TH sends Get Week Day Schedule Command to DUT with following + values: a)WeekDayIndex as 1 b)UserIndex as 1" PICS: DRLK.S.F04 && DRLK.S.C0c.Rsp && DRLK.S.C0c.Tx command: "GetWeekDaySchedule" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_7.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_7.yaml index 86dcd163375afc..3cd01cdde0ecf8 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_2_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_7.yaml @@ -19,6 +19,7 @@ name: PICS: - DRLK.S + - DRLK.S.F08 config: nodeId: 0x12344321 @@ -84,7 +85,8 @@ tests: value: null - label: - "Step 1: TH reads NumberOfYearDay SchedulesSupportedPerUser attribute" + "Step 1: TH reads NumberOfYearDay SchedulesSupportedPerUser attribute + and saves for future use" PICS: DRLK.S.F0a && DRLK.S.A0015 command: "readAttribute" attribute: "NumberOfYearDaySchedulesSupportedPerUser" @@ -94,7 +96,9 @@ tests: minValue: 0 maxValue: 255 - - label: "Step 2: TH reads NumberOfTotalUsers Supported attribute" + - label: + "Step 2: TH reads NumberOfTotalUsers Supported attribute and saves for + future use" PICS: DRLK.S.F08 && DRLK.S.A0011 command: "readAttribute" attribute: "NumberOfTotalUsersSupported" @@ -104,7 +108,10 @@ tests: minValue: 0 maxValue: 65534 - - label: "Step 3: TH sends Set Year Day Schedule Command to DUT" + - label: + "Step 3: TH sends Set Year Day Schedule Command to DUT with the + following values: a)YearDayIndex as 1 b)UserIndex as 1 + c)LocalStartTime as 960 Seconds d)LocalEndTime as 1980 Seconds" PICS: DRLK.S.F0a && DRLK.S.C0e.Rsp command: "SetYearDaySchedule" arguments: @@ -118,7 +125,9 @@ tests: - name: "LocalEndTime" value: 1980 - - label: "Step 4a & 4b: TH sends Get Year Day Schedule Command to DUT" + - label: + "Step 4a & 4b: TH sends Get Year Day Schedule Command to DUT with the + following values: a)YearDayIndex as 1 b)UserIndex as 1" PICS: DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx command: "GetYearDaySchedule" arguments: @@ -142,7 +151,10 @@ tests: constraints: minValue: 961 - - label: "Step 5: TH send Set Year Day Schedule Command to DUT" + - label: + "Step 5: TH send Set Year Day Schedule Command to DUT with the + following values: a)YearDayIndex as 0(Invalid value) b)UserIndex as + 15(Invalid value) c)LocalStartTime as 1020 d)LocalEndTime as 2040" PICS: DRLK.S.C0e.Rsp command: "SetYearDaySchedule" arguments: @@ -158,7 +170,9 @@ tests: response: error: INVALID_COMMAND - - label: "Step 6: TH sends Get Year Day Schedule Command to DUT" + - label: + "Step 6: TH sends Get Year Day Schedule Command to DUT with : + a)YearDayIndex as 0 b)UserIndex as 15" PICS: DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx command: "GetYearDaySchedule" arguments: @@ -182,7 +196,9 @@ tests: constraints: hasValue: false - - label: "Step 7a: Create a user with userIndex as 5" + - label: + "Step 7a: Create a new user with UserIndex as 5 then TH sends Get Year + Day Schedule Command to DUT with" command: "SetUser" timedInteractionTimeoutMs: 10000 arguments: @@ -202,7 +218,9 @@ tests: - name: "CredentialRule" value: 0 - - label: "Step 7b: TH sends Get Year Day Schedule Command to DUT" + - label: + "Step 7b: YearDayIndex as 10 (value is in the the range of step 1 but + YearDay Schedule entry not available) : UserIndex as 5" PICS: DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx command: "GetYearDaySchedule" arguments: @@ -226,7 +244,9 @@ tests: constraints: hasValue: false - - label: "Step 8: TH sends Clear Year Day Schedule to DUT" + - label: + "Step 8: TH sends Clear Year Day Schedule to DUT with a)YearDayIndex + as 1 b)UserIndex as 1" PICS: DRLK.S.C10.Rsp command: "ClearYearDaySchedule" arguments: @@ -236,7 +256,10 @@ tests: - name: "UserIndex" value: 1 - - label: "Step 9: TH sends Get Year Day Schedule Command to DUT" + - label: + "Step 9: TH sends Get Year Day Schedule Command to DUT with + a)YearDayIndex as 1 (value is in the the range of step 1 but YearDay + Schedule entry not available) b)UserDayIndex as 1" PICS: DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx && DRLK.S.C10.Rsp command: "GetYearDaySchedule" arguments: @@ -260,7 +283,10 @@ tests: constraints: hasValue: false - - label: "Step 10: TH sends Set Year Day Schedule Command to DUT" + - label: + "Step 10: TH sends Set Year Day Schedule Command to DUT with the + following values: a)YearDayIndex as 1 b)UserIndex as 1 + c)LocalStartTime as 1080 Seconds d)LocalEndTime as 2100 Seconds" PICS: DRLK.S.C0e.Rsp command: "SetYearDaySchedule" arguments: @@ -274,7 +300,9 @@ tests: - name: "LocalEndTime" value: 2100 - - label: "Step 11: TH sends Get Year Day Schedule Command to DUT" + - label: + "Step 11: TH sends Get Year Day Schedule Command to DUT with : + a)YearDayIndex as 1 b)UserDayIndex as 1" PICS: DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx command: "GetYearDaySchedule" arguments: @@ -299,8 +327,9 @@ tests: minValue: 1081 - label: - "Step 12: TH sends Get Year Day Schedule Command to DUT for - non-existent User" + "Step 12: TH sends Get Year Day Schedule Command to DUT with + a)YearDayIndex as 1 (index of existing Schedule entry) b)UserIndex as + 2 (index on non-existent User)" PICS: DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx command: "GetYearDaySchedule" arguments: @@ -324,7 +353,9 @@ tests: constraints: hasValue: false - - label: "Step 13: TH sends Clear Year Day Schedule to DUT" + - label: + "Step 13: TH sends Clear Year Day Schedule to DUT with a)YearDayIndex + as 0(Invalid value) b)UserIndex as 0 (Invalid value)" PICS: DRLK.S.F0a && DRLK.S.C10.Rsp command: "ClearYearDaySchedule" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_G_2_3.yaml b/src/app/tests/suites/certification/Test_TC_G_2_3.yaml index 51fd39f571ef99..090d7a30be87af 100644 --- a/src/app/tests/suites/certification/Test_TC_G_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_2_3.yaml @@ -48,9 +48,10 @@ tests: cluster to DUT on EP0 using a key that is pre-installed on the TH. GroupKeySet fields are as follows: GroupKeySetID: 1 GroupKeySecurityPolicy: TrustFirst (0) EpochKey0: - d0d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime0: 2220000 EpochKey1: - d1d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime1: 2220001 EpochKey2: - d2d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime2: 2220002" + d0d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime0: 1 EpochKey1: + d1d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime1: 18446744073709551613 + EpochKey2: d2d1d2d3d4d5d6d7d8d9dadbdcdddedf EpochStartTime2: + 18446744073709551614" verification: | ./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 1,"groupKeySecurityPolicy": 0, "epochKey0":"d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 1,"epochKey1":"d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 18446744073709551613,"epochKey2":"d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 18446744073709551614 }' 1 0 @@ -1156,8 +1157,9 @@ tests: - label: "Step 19b: TH sends AddGroupIfIdentifying command to DUT on - PIXIT.G.ENDPOINT as unicast method with the following fields: GroupID - as 0x0006 + maxgroups GroupName as GroupName as Gp123456789123456" + PIXIT.G.ENDPOINT as unicast method with the following fields: + 1)GroupID as 0x0006 + maxgroups 2)GroupName as GroupName as + Gp123456789123456" PICS: G.S.C05.Rsp && G.S.F00 verification: | ./chip-tool groups add-group-if-identifying 0x0012 Gp123456789123456 1 0 diff --git a/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml b/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml index 4094c677705b6b..21beac03a85b00 100644 --- a/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_IDM_4_2.yaml @@ -119,92 +119,46 @@ tests: sends a Subscribe Response Message to the CR1 to activate the subscription." verification: | - To ensure that CR1 and CR2 are on the same fabric and that CR1 grants access to CR2, Please send the below mentioned command, it will configure TH2 without access to a specific cluster, we send the ACL command, allowing access only to the Level Control cluster (cluster ID: 8); any attempts to subscribe to or use commands from other clusters will result in a status of 'INVALID_ACTION + Please run the following command on the TH to test the subscription feature and verify that the value of MaxIntervalCeiling is set correctly( set the value less than SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT) - accesscontrol write acl '[{"privilege":5, "authMode":2, "subjects":[112233], "targets":null, "fabricIndex": 1},{"privilege":3, "authMode":2, "subjects":[4], "targets":[{"cluster":8, "endpoint":null, "deviceType":null}]}]' 1 0 - [1689933254.566655][48781:48783] CHIP:EM: Rxd Ack; Removing MessageCounter:156974239 from Retrans Table on exchange 6316i - [1689933254.566660][48781:48783] CHIP:DMG: WriteClient moving to [ResponseRe] - [1689933254.566671][48781:48783] CHIP:DMG: WriteResponseMessage = - [1689933254.566675][48781:48783] CHIP:DMG: { - [1689933254.566677][48781:48783] CHIP:DMG: AttributeStatusIBs = - [1689933254.566682][48781:48783] CHIP:DMG: [ - [1689933254.566684][48781:48783] CHIP:DMG: AttributeStatusIB = - [1689933254.566688][48781:48783] CHIP:DMG: { - [1689933254.566691][48781:48783] CHIP:DMG: AttributePathIB = - [1689933254.566695][48781:48783] CHIP:DMG: { - [1689933254.566698][48781:48783] CHIP:DMG: Endpoint = 0x0, - [1689933254.566702][48781:48783] CHIP:DMG: Cluster = 0x1f, - [1689933254.566705][48781:48783] CHIP:DMG: Attribute = 0x0000_0000, - [1689933254.566708][48781:48783] CHIP:DMG: } - [1689933254.566713][48781:48783] CHIP:DMG: - [1689933254.566716][48781:48783] CHIP:DMG: StatusIB = - [1689933254.566720][48781:48783] CHIP:DMG: { - [1689933254.566723][48781:48783] CHIP:DMG: status = 0x00 (SUCCESS), - [1689933254.566726][48781:48783] CHIP:DMG: }, - [1689933254.566730][48781:48783] CHIP:DMG: - [1689933254.566732][48781:48783] CHIP:DMG: }, - [1689933254.566739][48781:48783] CHIP:DMG: - [1689933254.566741][48781:48783] CHIP:DMG: AttributeStatusIB = - [1689933254.566744][48781:48783] CHIP:DMG: { - [1689933254.566747][48781:48783] CHIP:DMG: AttributePathIB = - [1689933254.566750][48781:48783] CHIP:DMG: { - [1689933254.566752][48781:48783] CHIP:DMG: Endpoint = 0x0, - [1689933254.566756][48781:48783] CHIP:DMG: Cluster = 0x1f, - [1689933254.566760][48781:48783] CHIP:DMG: Attribute = 0x0000_0000, - [1689933254.566763][48781:48783] CHIP:DMG: ListIndex = Null, - [1689933254.566766][48781:48783] CHIP:DMG: } - [1689933254.566770][48781:48783] CHIP:DMG: - [1689933254.566773][48781:48783] CHIP:DMG: StatusIB = - [1689933254.566776][48781:48783] CHIP:DMG: { - [1689933254.566779][48781:48783] CHIP:DMG: status = 0x00 (SUCCESS), - [1689933254.566782][48781:48783] CHIP:DMG: }, - [1689933254.566786][48781:48783] CHIP:DMG: - [1689933254.566789][48781:48783] CHIP:DMG: }, - [1689933254.566794][48781:48783] CHIP:DMG: - [1689933254.566797][48781:48783] CHIP:DMG: AttributeStatusIB = - [1689933254.566800][48781:48783] CHIP:DMG: { - [1689933254.566802][48781:48783] CHIP:DMG: AttributePathIB = - [1689933254.566805][48781:48783] CHIP:DMG: { - [1689933254.566808][48781:48783] CHIP:DMG: Endpoint = 0x0, - [1689933254.566811][48781:48783] CHIP:DMG: Cluster = 0x1f, - [1689933254.566815][48781:48783] CHIP:DMG: Attribute = 0x0000_0000, - [1689933254.566818][48781:48783] CHIP:DMG: ListIndex = Null, - [1689933254.566821][48781:48783] CHIP:DMG: } - [1689933254.566825][48781:48783] CHIP:DMG: - [1689933254.566828][48781:48783] CHIP:DMG: StatusIB = - [1689933254.566831][48781:48783] CHIP:DMG: { - [1689933254.566834][48781:48783] CHIP:DMG: status = 0x00 (SUCCESS), - [1689933254.566837][48781:48783] CHIP:DMG: }, - [1689933254.566840][48781:48783] CHIP:DMG: - [1689933254.566843][48781:48783] CHIP:DMG: }, - [1689933254.566847][48781:48783] CHIP:DMG: - [1689933254.566849][48781:48783] CHIP:DMG: ], - [1689933254.566857][48781:48783] CHIP:DMG: - [1689933254.566859][48781:48783] CHIP:DMG: InteractionModelRevision = 1 - [1689933254.566862][48781:48783] CHIP:DMG: } - [1689933254.566897][48781:48783] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1689933254.566916][48781:48783] CHIP:EM: <<< [E:6316i S:13964 M:156974240 (Ack:46397313)] (S) Msg TX to 1:0000000000000001 [B15F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1689933254.566922][48781:48783] CHIP:IN: (S) Sending msg 156974240 on secure session with LSID: 13964 + basicinformation subscribe location 10 400 1 0 --keepSubscriptions true - If CR2 attempts to subscribe to an attribute on a cluster (ClusterID) for which it does not have access, the AttributePath used for the subscription would be in the form [[Attribute = AttributeName, Cluster = ClusterID, Endpoint = EndpointID]], but this action will be denied, and CR2 will not be able to access the attribute due to the restricted access. - - below provided the example command used to subscribe location attribute from basicinformation cluster from node id(4) that have access to the “levelcontrol” cluster + On the CR1(chip-tool), verify a report data message is received and verify it contains the following data : + 1. Verify Report Data Message Received: + Check if a report data message is received on the CR1 (target hardware). - basicinformation subscribe location 10 2400 1 0 --commissioner-nodeid 4 - [1689933387.304826][48781:48783] CHIP:EM: Rxd Ack; Removing MessageCounter:42350588 from Retrans Table on exchange 6319i - [1689933387.304834][48781:48783] CHIP:DMG: StatusResponseMessage = - [1689933387.304838][48781:48783] CHIP:DMG: { - [1689933387.304841][48781:48783] CHIP:DMG: Status = 0x80 (INVALID_ACTION), - [1689933387.304845][48781:48783] CHIP:DMG: InteractionModelRevision = 1 - [1689933387.304846][48781:48783] CHIP:DMG: } - [1689933387.304850][48781:48783] CHIP:IM: Received status response, status is 0x80 (INVALID_ACTION) - [1689933387.304864][48781:48783] CHIP:EM: <<< [E:6319i S:13965 M:42350589 (Ack:227168589)] (S) Msg TX to 2:0000000000000001 [B15F] --- Type 0001:01 (IM:StatusResponse) - [1689933387.304869][48781:48783] CHIP:IN: (S) Sending msg 42350589 on secure session with LSID: 13965 - [1689933387.304882][48781:48783] CHIP:DMG: MoveToState ReadClient[0x7fd404019110]: Moving to [ Idle] + 2. Verify Report Data Contents: + Confirm that the received report data message contains the data of the attribute/event that was previously requested. - With the ACL command in step-2, we are overwriting the default privilege that chip-tool has an admin. After this step-3 you need to send below mentioned command to Grant access to all clusters again. - accesscontrol write acl '[{"fabricIndex": 1, "privilege": 5, "authMode":2, "subjects":[112233,4], "targets":null}]' 1 0 + 3. Verify Subscribe Response Fields: + Examine the Subscribe Response to ensure it includes the following fields: + SubscriptionId: Verify that it is of type uint32. + MaxInterval: Verify that it is of type uint32. + + 4. Verify MaxInterval against SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT: + Compare the MaxInterval value received in the Subscribe Response to the value of SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT. + Verify that the MaxInterval value is less than or equal to SUBSCRIPTION_MAX_INTERVAL_PUBLISHER_LIMIT. + + [1693221766.862968][22261:22263] CHIP:DMG: } + [1693221766.863028][22261:22263] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0006 DataVersion: 1552486032 + [1693221766.863045][22261:22263] CHIP:TOO: Location: XX + [1693221766.863068][22261:22263] CHIP:DMG: MoveToState ReadClient[0x7f6070027b50]: Moving to [AwaitingSu] + [1693221766.863114][22261:22263] CHIP:EM: <<< [E:26389i S:13043 M:192043503 (Ack:11734615)] (S) Msg TX to 1:0000000000000001 [3DC0] --- Type 0001:01 (IM:StatusResponse) + [1693221766.863130][22261:22263] CHIP:IN: (S) Sending msg 192043503 on secure session with LSID: 13043 + [1693221766.863196][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793 + [1693221766.863207][22261:22263] CHIP:DL: HandlePlatformSpecificBLEEvent 32793 + [1693221766.863559][22261:22263] CHIP:EM: >>> [E:26389i S:13043 M:11734616 (Ack:192043503)] (S) Msg RX from 1:0000000000000001 [3DC0] --- Type 0001:04 (IM:SubscribeResponse) + [1693221766.863569][22261:22263] CHIP:EM: Found matching exchange: 26389i, Delegate: 0x7f6070027b60 + [1693221766.863584][22261:22263] CHIP:EM: Rxd Ack; Removing MessageCounter:192043503 from Retrans Table on exchange 26389i + [1693221766.863603][22261:22263] CHIP:DMG: SubscribeResponse is received + [1693221766.863620][22261:22263] CHIP:DMG: SubscribeResponseMessage = + [1693221766.863629][22261:22263] CHIP:DMG: { + [1693221766.863639][22261:22263] CHIP:DMG: SubscriptionId = 0x83e461d9, + [1693221766.863651][22261:22263] CHIP:DMG: MaxInterval = 0xa, + [1693221766.863661][22261:22263] CHIP:DMG: InteractionModelRevision = 10 + [1693221766.863667][22261:22263] CHIP:DMG: } + [1693221766.863677][22261:22263] CHIP:DMG: Subscription established with SubscriptionID = 0x83e461d9 MinInterval = 10s MaxInterval = 10s Peer = 01:0000000000000001 disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_I_2_2.yaml b/src/app/tests/suites/certification/Test_TC_I_2_2.yaml index 52bbd1e41bb572..09a2d6bd0610ac 100644 --- a/src/app/tests/suites/certification/Test_TC_I_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_2_2.yaml @@ -44,24 +44,6 @@ tests: minValue: 0 maxValue: 5 - - label: - "Verify that the device enters its identification state using the - IdentifyType from Step 1b, in order to indicate to an observer which - of several nodes and/or endpoints it is." - verification: | - Verify that the device enters its identification state using the IdentifyType from step1b, - Here the Identifytype is 2(VisibleIndicator) which can be a small led that indicates the device is in identification state. - This IdentifyType can vary to device ref: 1.2.5.1 in spec for the IdentifyTypeEnum of the particular DUT - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && I.S.A0001 - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - label: "Step 2a: TH sends Identify command to DUT, with the IdentifyTime field set to 0x003c (60s)." @@ -147,6 +129,24 @@ tests: # - name: "expectedValue" # value: "y" + - label: + "Step 6a: Verify that the device enters its identification state using + the IdentifyType from Step 1b, in order to indicate to an observer + which of several nodes and/or endpoints it is." + verification: | + Verify that the device enters its identification state using the IdentifyType from step1b, + Here the Identifytype is 2(VisibleIndicator) which can be a small led that indicates the device is in identification state. + This IdentifyType can vary to device ref: 1.2.5.1 in spec for the IdentifyTypeEnum of the particular DUT + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && I.S.A0001 + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6a: TH writes a value of 0x000f (15s) to IdentifyTime attribute of DUT" @@ -176,9 +176,7 @@ tests: maxValue: 5 - label: - "Verify that the device enters its identification state using the - IdentifyType from Step 1b, in order to indicate to an observer which - of several nodes and/or endpoints it is." + "Step 6b: Verify that the device terminates its identification state" verification: | Verify that the identification state is terminated in the DUT. Here the Identifytype is 2(VisibleIndicator) which can be a small led that indicates the device is in identification state. diff --git a/src/app/tests/suites/certification/Test_TC_OPSTATE_2_2.yaml b/src/app/tests/suites/certification/Test_TC_OPSTATE_2_2.yaml index 17471bfc43d7e6..43dc0dda3dc01e 100644 --- a/src/app/tests/suites/certification/Test_TC_OPSTATE_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPSTATE_2_2.yaml @@ -33,7 +33,7 @@ tests: "Step 1: Commission DUT to TH (can be skipped if done in a preceding test)" verification: | - OPSTATE.S.C01 && OPSTATE.S.C02 + disabled: true - label: diff --git a/src/app/tests/suites/certification/Test_TC_OPSTATE_2_5.yaml b/src/app/tests/suites/certification/Test_TC_OPSTATE_2_5.yaml new file mode 100644 index 00000000000000..6dcc447fbf3dd1 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_OPSTATE_2_5.yaml @@ -0,0 +1,353 @@ +# Copyright (c) 2023 Project CHIP Authors +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default + +name: 204.2.5. [TC-OPSTATE-2.5] Optional Events with DUT as Server + +PICS: + - OPSTATE.S + +config: + nodeId: 0x12344321 + cluster: "Basic Information" + endpoint: 0 + +tests: + - label: "Note" + verification: | + This test case can be continuted only when countdown-time read in step 5 is not null + disabled: true + + - label: "Step 1: Commission DUT to TH" + verification: | + + disabled: true + + - label: "Step 2: Set up a subscription to the OperationCompletion event" + PICS: OPSTATE.S.E01 + verification: | + ./chip-tool interactive start + + operationalstate read-event operation-completion 1 1 + + [1702376916.193452][4893:4896] CHIP:DMG: ReportDataMessage = + [1702376916.193461][4893:4896] CHIP:DMG: { + [1702376916.193469][4893:4896] CHIP:DMG: SubscriptionId = 0x85d7a607, + [1702376916.193497][4893:4896] CHIP:DMG: InteractionModelRevision = 11 + [1702376916.193504][4893:4896] CHIP:DMG: } + disabled: true + + - label: "Step 3: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 + verification: | + ./chip-tool operationalstate read operational-state 1 1 + + Via the TH (chip-tool), verify: + - the response includes an ID (enum8) amd a label (string) + - the provided ID is found in the set provided in step 4 + - the provided ID is in the allowed range + + [1689673213.434610][16591:16593] CHIP:DMG: } + [1689673213.434686][16591:16593] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 2102885775 + [1689673213.434721][16591:16593] CHIP:TOO: OperationalState: { + [1689673213.434728][16591:16593] CHIP:TOO: OperationalStateID: 0 + [1689673213.434735][16591:16593] CHIP:TOO: } + disabled: true + + - label: + "Step 4: Manually put the DUT into a state wherein it can receive a + Start Command" + verification: | + + disabled: true + + - label: "Step 5: TH reads from the DUT the CountdownTime attribute" + PICS: OPSTATE.S.A0002 + verification: | + ./chip-tool operationalstate read countdown-time 1 1 + + Via the TH (chip-tool), verify: + - that CountdownTime attribute contains either null our a uint32 value + - if non-null, verify that the value is in the range 1 to 259200 + - store the value in 'initialcountdown-time' + + [1690457637.895405][18808:18810] CHIP:DMG: } + [1690457637.895474][18808:18810] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0002 DataVersion: 4112784416 + [1690457637.895503][18808:18810] CHIP:TOO: CountdownTime: null + disabled: true + + - label: "Step 6: TH sends Start command to the DUT" + PICS: OPSTATE.S.C02.Rsp && OPSTATE.S.C04.Tx + verification: | + ./chip-tool operationalstate start 1 1 + + Via the TH (chip-tool), verify: + - the response is an instance of OperationalCommandResponse + - The ErrorStateID field is set to 0x00 (NoError) + + [1689674637.555734][17326:17328] CHIP:DMG: + [1689674637.555742][17326:17328] CHIP:DMG: InteractionModelRevision = 1 + [1689674637.555751][17326:17328] CHIP:DMG: }, + [1689674637.555784][17326:17328] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0060 Command=0x0000_0004 + [1689674637.555805][17326:17328] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Command 0x0000_0004 + [1689674637.555853][17326:17328] CHIP:TOO: OperationalCommandResponse: { + [1689674637.555862][17326:17328] CHIP:TOO: commandResponseState: { + [1689674637.555872][17326:17328] CHIP:TOO: ErrorStateID: 0 + [1689674637.555883][17326:17328] CHIP:TOO: } + disabled: true + + - label: "Step 7: TH waits for {PIXIT.WAITTIME}" + verification: | + + disabled: true + + - label: "Step 8: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 + verification: | + ./chip-tool operationalstate read operational-state 1 1 + + Via the TH (chip-tool), verify: + - the response has an OperationalStateID field that is set to 0x01 (Running) + + [1689674196.878722][17249:17251] CHIP:DMG: InteractionModelRevision = 1 + [1689674196.878727][17249:17251] CHIP:DMG: } + [1689674196.878800][17249:17251] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 2102885775 + [1689674196.878834][17249:17251] CHIP:TOO: OperationalState: { + [1689674196.878841][17249:17251] CHIP:TOO: OperationalStateID: 1 + [1689674196.878847][17249:17251] CHIP:TOO: } + disabled: true + + - label: "Step 9: TH waits for initial-countdown-time" + verification: | + As the initial-countdown-time in null this test cannot be executed further in case of RPI platform. + Note: The below log are for instructional purpose. In real scenarios, the actual log may vary depending on the feature implementation in the Reference App. + disabled: true + + - label: "Step 10: TH sends Stop command to the DUT" + PICS: OPSTATE.S.C01.Rsp && OPSTATE.S.C04.Tx + verification: | + ./chip-tool operationalstate stop 1 1 + + Via the TH (chip-tool), verify: + - the response is an instance of OperationalCommandResponse + - The ErrorStateID field is set to 0x00 (NoError) + + [1689674653.322963][17330:17332] CHIP:DMG: }, + [1689674653.322994][17330:17332] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0060 Command=0x0000_0004 + [1689674653.323014][17330:17332] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Command 0x0000_0004 + [1689674653.323058][17330:17332] CHIP:TOO: OperationalCommandResponse: { + [1689674653.323066][17330:17332] CHIP:TOO: commandResponseState: { + [1689674653.323076][17330:17332] CHIP:TOO: ErrorStateID: 0 + [1689674653.323085][17330:17332] CHIP:TOO: } + [1689674653.323094][17330:17332] CHIP:TOO: } + disabled: true + + - label: + "Step 11: erify TH receives an OperationCompletion event from the DUT + with the following fields populated as follows: 1)CompletionErrorCode + set to NoError(0x00) 2)TotalOperationalTime is approximately + initial-countdown-time or null 3)PausedTime is zero" + PICS: OPSTATE.S.E01 + verification: | + operationalstate read-event operation-completion 1 1 + + [1657193007.841358][5422:5427] CHIP:TOO: Endpoint: 0 Endpoint: 1 Cluster: 0x0000_0060 Event 0x0000_0001 + [1657193007.841387][5422:5427] CHIP:TOO: Event number: 1 + [1657193007.841409][5422:5427] CHIP:TOO: Priority: INFO + [1657193007.841431][5422:5427] CHIP:TOO: Timestamp: 132146 + [1657193007.841531][5422:5427] CHIP:TOO: OperationCompletion: { + [1657193007.841570][5422:5427] CHIP:TOO: CompletionErrorCode: 0x00 + TotalOperationalTime: null + PausedTime: 0 + [1657193007.841594][5422:5427] CHIP:TOO: } + disabled: true + + - label: "Step 12: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 + verification: | + ./chip-tool operationalstate read operational-state 1 1 + + Via the TH (chip-tool), verify: + - the response has an OperationalStateID field that is set to 0x00 (Stopped) + + [1689674675.459656][17333:17335] CHIP:DMG: } + [1689674675.459738][17333:17335] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 2102885775 + [1689674675.459772][17333:17335] CHIP:TOO: OperationalState: { + [1689674675.459790][17333:17335] CHIP:TOO: OperationalStateID: 0 + [1689674675.459799][17333:17335] CHIP:TOO: } + disabled: true + + - label: "Step 13: Restart DUT and repeat step 5" + verification: | + + disabled: true + + - label: "Step 14: TH sends Start command to the DUT" + PICS: OPSTATE.S.C02.Rsp && OPSTATE.S.C04.Tx + verification: | + ./chip-tool operationalstate start 1 1 + + Via the TH (chip-tool), verify: + - the response is an instance of OperationalCommandResponse + - The ErrorStateID field is set to 0x00 (NoError) + + [1689674637.555734][17326:17328] CHIP:DMG: + [1689674637.555742][17326:17328] CHIP:DMG: InteractionModelRevision = 1 + [1689674637.555751][17326:17328] CHIP:DMG: }, + [1689674637.555784][17326:17328] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0060 Command=0x0000_0004 + [1689674637.555805][17326:17328] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Command 0x0000_0004 + [1689674637.555853][17326:17328] CHIP:TOO: OperationalCommandResponse: { + [1689674637.555862][17326:17328] CHIP:TOO: commandResponseState: { + [1689674637.555872][17326:17328] CHIP:TOO: ErrorStateID: 0 + [1689674637.555883][17326:17328] CHIP:TOO: } + [1689674637.555891][17326:17328] CHIP:TOO: } + disabled: true + + - label: "Step 15: TH waits for {PIXIT.WAITTIME}" + verification: | + + disabled: true + + - label: "Step 16: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 + verification: | + ./chip-tool operationalstate read operational-state 1 1 + + Via the TH (chip-tool), verify: + - the response has an OperationalStateID field that is set to 0x01 (Running) + + [1689674196.878722][17249:17251] CHIP:DMG: InteractionModelRevision = 1 + [1689674196.878727][17249:17251] CHIP:DMG: } + [1689674196.878800][17249:17251] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 2102885775 + [1689674196.878834][17249:17251] CHIP:TOO: OperationalState: { + [1689674196.878841][17249:17251] CHIP:TOO: OperationalStateID: 1 + [1689674196.878847][17249:17251] CHIP:TOO: } + disabled: true + + - label: "Step 17: TH sends Pause command to the DUT" + PICS: OPSTATE.S.C00.Rsp && OPSTATE.S.C04.Tx + verification: | + ./chip-tool operationalstate pause 1 1 + + Via the TH (chip-tool), verify: + - the response is an instance of OperationalCommandResponse + - The ErrorStateID field is set to 0x00 (NoError) + + [1690457565.893634][18795:18797] CHIP:DMG: }, + [1690457565.893663][18795:18797] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0060 Command=0x0000_0004 + [1690457565.893681][18795:18797] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Command 0x0000_0004 + [1690457565.893714][18795:18797] CHIP:TOO: OperationalCommandResponse: { + [1690457565.893729][18795:18797] CHIP:TOO: commandResponseState: { + [1690457565.893736][18795:18797] CHIP:TOO: ErrorStateID: 0 + [1690457565.893744][18795:18797] CHIP:TOO: } + [1690457565.893750][18795:18797] CHIP:TOO: } + disabled: true + + - label: "Step 18: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 + verification: | + ./chip-tool operationalstate read operational-state 1 1 + + Via the TH (chip-tool), verify: + - the response has an OperationalStateID field that is set to 0x02 (Paused) + + [1690457601.103082][18800:18802] CHIP:DMG: InteractionModelRevision = 1 + [1690457601.103090][18800:18802] CHIP:DMG: } + [1690457601.103210][18800:18802] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 4112784416 + [1690457601.103259][18800:18802] CHIP:TOO: OperationalState: 2 + disabled: true + + - label: "Step 19: TH waits for half of initial-countdown-time" + verification: | + + disabled: true + + - label: "Step 20: TH sends Resume command to the DUT" + PICS: OPSTATE.S.C03.Rsp && OPSTATE.S.C04.Tx + verification: | + ./chip-tool operationalstate resume 1 1 + + Via the TH (chip-tool), verify: + - the response is an instance of OperationalCommandResponse + - The ErrorStateID field is set to 0x03 (CommandInvalidInState) + + [1690457852.049135][18877:18879] CHIP:DMG: }, + [1690457852.049164][18877:18879] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0060 Command=0x0000_0004 + [1690457852.049183][18877:18879] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Command 0x0000_0004 + [1690457852.049217][18877:18879] CHIP:TOO: OperationalCommandResponse: { + [1690457852.049224][18877:18879] CHIP:TOO: commandResponseState: { + [1690457852.049238][18877:18879] CHIP:TOO: ErrorStateID: 3 + [1690457852.049246][18877:18879] CHIP:TOO: } + [1690457852.049252][18877:18879] CHIP:TOO: } + disabled: true + + - label: "Step 21: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 + verification: | + ./chip-tool operationalstate read operational-state 1 1 + + Via the TH (chip-tool), verify: + - the response has an OperationalStateID field that is set to 0x01 (Running) + + [1689674196.878722][17249:17251] CHIP:DMG: InteractionModelRevision = 1 + [1689674196.878727][17249:17251] CHIP:DMG: } + [1689674196.878800][17249:17251] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 2102885775 + [1689674196.878834][17249:17251] CHIP:TOO: OperationalState: { + [1689674196.878841][17249:17251] CHIP:TOO: OperationalStateID: 1 + [1689674196.878847][17249:17251] CHIP:TOO: } + disabled: true + + - label: "Step 22: TH waits for initial-countdown-time" + verification: | + TH waits for initial-countdown-time + disabled: true + + - label: "Step 23: TH sends Stop command to the DUT" + PICS: OPSTATE.S.C01.Rsp && OPSTATE.S.C04.Tx + verification: | + ./chip-tool operationalstate stop 1 1 + + Via the TH (chip-tool), verify: + - the response is an instance of OperationalCommandResponse + - The ErrorStateID field is set to 0x00 (NoError) + + [1689674653.322963][17330:17332] CHIP:DMG: }, + [1689674653.322994][17330:17332] CHIP:DMG: Received Command Response Data, Endpoint=1 Cluster=0x0000_0060 Command=0x0000_0004 + [1689674653.323014][17330:17332] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Command 0x0000_0004 + [1689674653.323058][17330:17332] CHIP:TOO: OperationalCommandResponse: { + [1689674653.323066][17330:17332] CHIP:TOO: commandResponseState: { + [1689674653.323076][17330:17332] CHIP:TOO: ErrorStateID: 0 + [1689674653.323085][17330:17332] CHIP:TOO: } + [1689674653.323094][17330:17332] CHIP:TOO: } + disabled: true + + - label: + "Step 24: Verify TH receives an OperationCompletion event with the + following fields populated as follows: 1. CompletionErrorCode set to + NoError(0x00) 2. TotalOperationalTime is approximately 1.5 times the + initial-countdown-time or null 3. PausedTime is 0.5 times the + initial-countdown-time" + PICS: OPSTATE.S.E01 + verification: | + operationalstate read-event operation-completion 1 1 + + [1657193007.841358][5422:5427] CHIP:TOO: Endpoint: 0 Endpoint: 1 Cluster: 0x0000_0060 Event 0x0000_0001 + [1657193007.841387][5422:5427] CHIP:TOO: Event number: 1 + [1657193007.841409][5422:5427] CHIP:TOO: Priority: INFO + [1657193007.841431][5422:5427] CHIP:TOO: Timestamp: 155146 + [1657193007.841531][5422:5427] CHIP:TOO: OperationCompletion: { + [1657193007.841570][5422:5427] CHIP:TOO: CompletionErrorCode: 0x00 + TotalOperationalTime: null + } + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_REFALM_2_2.yaml b/src/app/tests/suites/certification/Test_TC_REFALM_2_2.yaml index da9473dc7e9d22..3404d4ff6d9ed2 100644 --- a/src/app/tests/suites/certification/Test_TC_REFALM_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_REFALM_2_2.yaml @@ -66,7 +66,7 @@ tests: PICS: REFALM.S.A0002 verification: | ./chip-tool refrigeratoralarm read state 1 1 - On TH(chip-tool), Verify that the DUT response contains a 32-bit value with bit 0 set to 0. + On TH(chip-tool), Verify that the DUT response contains a 32-bit value with bit 0 set to 1. [1688447820.603249][4247:4249] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0057 Attribute 0x0000_0002 DataVersion: 1795162772 [1688447820.603415][4247:4249] CHIP:TOO: State: 1 diff --git a/src/app/tests/suites/certification/Test_TC_SWTCH_1_1.yaml b/src/app/tests/suites/certification/Test_TC_SWTCH_1_1.yaml index 5213f66e66dc3a..52919b3cc02e70 100644 --- a/src/app/tests/suites/certification/Test_TC_SWTCH_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SWTCH_1_1.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: 74.1.1. [TC-SWTCH-1.1] Global attributes with server as DUT +name: 74.1.1. [TC-SWTCH-1.1] Global Attributes with DUT as Server PICS: - SWTCH.S @@ -23,7 +23,9 @@ config: endpoint: 1 tests: - - label: "Step 1: Wait for the commissioned device to be retrieved" + - label: + "Step 1: Commission DUT to TH (can be skipped if done in a preceding + test)." cluster: "DelayCommands" command: "WaitForCommissionee" arguments: @@ -31,7 +33,7 @@ tests: - name: "nodeId" value: nodeId - - label: "Step 3: Read the global attribute: ClusterRevision" + - label: "Step 3: TH reads from the DUT the ClusterRevision attribute." command: "readAttribute" attribute: "ClusterRevision" response: @@ -40,8 +42,8 @@ tests: type: int16u - label: - "Step 2a: Read FeatureMap attribute and Check values of flags in this - FeatureMap" + "Step 2a: TH reads from the DUT the FeatureMap attribute and Check + values of flags in this FeatureMap" PICS: "!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04" @@ -112,7 +114,7 @@ tests: hasMasksSet: [0x2, 0x4, 0x10] hasMasksClear: [0x1] - - label: "Step 4a: Read the global attribute: AttributeList" + - label: "Step 4a: TH reads from the DUT the AttributeList attribute." PICS: SWTCH.S.F04 command: "readAttribute" attribute: "AttributeList" @@ -121,7 +123,7 @@ tests: type: list contains: [2] - - label: "Step 4b: Read the global attribute: AttributeList" + - label: "Step 4b: TH reads from the DUT the AttributeList attribute." PICS: "PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04" command: "readAttribute" attribute: "AttributeList" @@ -130,7 +132,7 @@ tests: type: list contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] - - label: "Step 4b: Read the global attribute: AttributeList" + - label: "Step 4b: TH reads from the DUT the AttributeList attribute." PICS: "!PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04" command: "readAttribute" attribute: "AttributeList" @@ -139,7 +141,7 @@ tests: type: list contains: [0, 1, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5a: Read the global attribute: EventList " + - label: "Step 5a: TH reads from the DUT the EventList attribute." PICS: "!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 " @@ -150,7 +152,7 @@ tests: constraints: type: list - - label: "Step 5b: Read EventList if SWTCH.S.F00(LS)" + - label: "Step 5b: TH reads EventList if SWTCH.S.F00(LS)" PICS: PICS_EVENT_LIST_ENABLED && SWTCH.S.F00 command: "readAttribute" attribute: "EventList" @@ -159,7 +161,8 @@ tests: type: list contains: [0] - - label: "Step 5c: Read EventList if SWTCH.S.F01(MS) & !SWTCH.S.F02(MSR)" + - label: + "Step 5c: TH reads EventList if SWTCH.S.F01(MS) & !SWTCH.S.F02(MSR)" PICS: PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && !SWTCH.S.F02 command: "readAttribute" attribute: "EventList" @@ -169,7 +172,7 @@ tests: contains: [1] - label: - "Step 5d: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & + "Step 5d: TH reads EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)" PICS: " PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && @@ -182,7 +185,7 @@ tests: contains: [1, 3] - label: - "Step 5e: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & + "Step 5e: TH reads EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)" PICS: " PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 @@ -195,7 +198,7 @@ tests: contains: [1, 2, 3, 4] - label: - "Step 5f: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & + "Step 5f: TH reads EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) " PICS: " PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && @@ -208,7 +211,7 @@ tests: contains: [1, 3, 5, 6] - label: - "Step 5g: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & + "Step 5g: TH reads EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) " PICS: " PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 @@ -220,7 +223,7 @@ tests: type: list contains: [1, 2, 3, 4, 5, 6] - - label: "Step 6: Read the global attribute: AcceptedCommandList" + - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute." command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -228,7 +231,7 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: "Step 7: TH reads from the DUT the GeneratedCommandList attribute." command: "readAttribute" attribute: "GeneratedCommandList" response: diff --git a/src/app/tests/suites/certification/Test_TC_SWTCH_2_1.yaml b/src/app/tests/suites/certification/Test_TC_SWTCH_2_1.yaml index 96aadf42b7a7ec..8f004d1c238476 100644 --- a/src/app/tests/suites/certification/Test_TC_SWTCH_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SWTCH_2_1.yaml @@ -23,7 +23,9 @@ config: endpoint: 1 tests: - - label: "Step 1: Wait for the commissioned device to be retrieved" + - label: + "Step 1: Commission DUT to TH (can be skipped if done in a preceding + test)" cluster: "DelayCommands" command: "WaitForCommissionee" arguments: diff --git a/src/app/tests/suites/certification/Test_TC_SWTCH_2_2.yaml b/src/app/tests/suites/certification/Test_TC_SWTCH_2_2.yaml index fff00b744700c9..3f4f9cc47c7aad 100644 --- a/src/app/tests/suites/certification/Test_TC_SWTCH_2_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_SWTCH_2_2.yaml @@ -165,7 +165,7 @@ tests: switch read-event switch-latched 1 1 - Verify TH receives SwitchLatched event with NewPosition set to 3 on TH(Chip-tool) log and below is the sample log provided for the raspi platform: + Verify TH receives SwitchLatched event with NewPosition set to 2 on TH(Chip-tool) log and below is the sample log provided for the raspi platform: [1697615514.717194][7767:7769] CHIP:DMG: } [1697615514.717359][7767:7769] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 @@ -175,6 +175,16 @@ tests: [1697615514.717430][7767:7769] CHIP:TOO: SwitchLatched: { [1697615514.717449][7767:7769] CHIP:TOO: NewPosition: 2 [1697615514.717464][7767:7769] CHIP:TOO: } + + In the current SDK development, Max number of positions is configured as 2, hence the current test step should fail as NewPosition reached more than the Max NumberOfPositions. + If the DUT supports NumberOfPositions>2, then, position should increase to the next level. Below is the sample command to execute to check the CurrentPosition + + switch read current-position 1 1 + + Verify CurrentPosition value is 2 On TH(chip-tool) Log and below is the sample log provided for the raspi platform: + + [1659600502.023560][4306:4311] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 391463069 + [1687847841.651568][19369:19371] CHIP:TOO: CurrentPosition: 2 disabled: true - label: @@ -219,6 +229,16 @@ tests: [1687258513.235235][17561:17563] CHIP:TOO: SwitchLatched: { [1687258513.235238][17561:17563] CHIP:TOO: NewPosition: 3 [1687258513.235239][17561:17563] CHIP:TOO: } + + In the current SDK development, Max number of positions are configured as 2, hence the current test step should fail as its reached more than the Max NumberOfPositions. + If the DUT supports NumberOfPositions>3, then position should increase to the next level. Below is the sample command to execute to check the CurrentPosition + + switch read current-position 1 1 + + Verify CurrentPosition value is 3 On TH(chip-tool) Log and below is the sample log provided for the raspi platform and below is the sample log provided for the raspi platform: + + [1659600502.023560][4306:4311] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Attribute 0x0000_0001 DataVersion: 391463069 + [1687847873.385882][19378:19380] CHIP:TOO: CurrentPosition: 3 disabled: true - label: "Step 2h: Operator returns switch to first position on the DUT" diff --git a/src/app/tests/suites/certification/Test_TC_SWTCH_3_2.yaml b/src/app/tests/suites/certification/Test_TC_SWTCH_3_2.yaml index 3541d05d6183c5..be4f2a4683de38 100644 --- a/src/app/tests/suites/certification/Test_TC_SWTCH_3_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_SWTCH_3_2.yaml @@ -17,6 +17,7 @@ name: 74.3.2. [TC-SWTCH-3.2] Primary functionality with client as DUT PICS: - SWTCH.C + - MCORE.IDM.C.SubscribeEvent config: nodeId: 0x12344321 @@ -198,11 +199,7 @@ tests: [1659679728.732429][2530:2530] CHIP:-: The latching switch is moved to a new position:0 [1659679728.732454][2530:2530] CHIP:ZCL: SwitchServer: OnSwitchLatch - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- - - 1. ./chip-tool interactive start - 2. switch subscribe-event switch-latched 1 100 1 1 + ./chip-tool switch read-event switch-latched 1 1 Verify switch latched event has newposition set to 0 on DUT (chip-tool) logs and below is the sample log provided for the raspi platform: @@ -235,8 +232,7 @@ tests: In parallel to this Check the CurrentPosition value. - 1. ./chip-tool interactive start - 2. switch read current-position 1 1 + ./chip-tool switch read current-position 1 1 Verify CurrentPosition value is 1 on TH (all-cluster-app) logs @@ -268,7 +264,7 @@ tests: [1686292319.379847][30986:30986] CHIP:DMG: } - TH simulates operation of the switch by changing state (attribute CurrentPosition) from 0 to 1 and back every 10 seconds (over a 1 minute period), DUT reads attribute CurrentPosition regularly + TH simulates operation of the switch by changing state (attribute CurrentPosition) from 1 to 0 and read the CurrentPosition attribute After 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 0 as position @@ -279,12 +275,9 @@ tests: [1686292713.872617][30986:30986] CHIP:-: The latching switch is moved to a new position:0 [1686292713.872629][30986:30986] CHIP:ZCL: SwitchServer: OnSwitchLatch - In parallel to this Check the CurrentPosition value. - - 1. ./chip-tool interactive start - 2. switch read current-position 1 1 + ./chip-tool switch read current-position 1 1 - Verify CurrentPosition value is 1 on TH (all-cluster-app) logs + Verify CurrentPosition value is 0 on TH (all-cluster-app) logs [1686293150.796547][30986:30986] CHIP:DMG: ReportDataMessage = [1686293150.796549][30986:30986] CHIP:DMG: { @@ -312,6 +305,8 @@ tests: [1686293150.796616][30986:30986] CHIP:DMG: SuppressResponse = true, [1686293150.796618][30986:30986] CHIP:DMG: InteractionModelRevision = 1 [1686293150.796620][30986:30986] CHIP:DMG: } + + Repeat the above Steps over 1 minute period of time disabled: true - label: @@ -333,39 +328,11 @@ tests: [1659621148.832380][8590:8590] CHIP:ZCL: SwitchServer: OnSwitchLatch [1659621148.832494][8590:8590] CHIP:EVL: LogEvent event number: 0x0000000000000007 priority: 1, endpoint id: 0x1 cluster id: 0x0000_003B event id: 0x0 Sys timestamp: 0x00000000022D0CBB - After 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 0 as position - After another 10 seconds, repeat the command with /tmp/chip_all_clusters_fifo using with value 1 as position - Repeat this toggling every 10 seconds for 1 minute total. - - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- - - 1. ./chip-tool interactive start - 2. switch subscribe-event switch-latched 1 100 1 1 + Send the SwitchLatched event on every change of position + ./chip-tool switch read-event switch-latched 1 1 Verify SwitchLatched Position is changing for 0 to 1 on DUT(chip-tool) Log: - [1659680091.149404][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 - [1659680091.149428][2592:2597] CHIP:TOO: Event number: 3 - [1659680091.149449][2592:2597] CHIP:TOO: Priority: Info - [1659680091.149470][2592:2597] CHIP:TOO: Timestamp: 2181028 - [1659680091.149536][2592:2597] CHIP:TOO: SwitchLatched: { - [1659680091.149571][2592:2597] CHIP:TOO: NewPosition: 0 - [1659680091.149593][2592:2597] CHIP:TOO: } - [1659680091.149674][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 - [1659680091.149696][2592:2597] CHIP:TOO: Event number: 4 - [1659680091.149717][2592:2597] CHIP:TOO: Priority: Info - [1659680091.149737][2592:2597] CHIP:TOO: Timestamp: 2286911 - [1659680091.149763][2592:2597] CHIP:TOO: SwitchLatched: { - [1659680091.149785][2592:2597] CHIP:TOO: NewPosition: 1 - [1659680091.149805][2592:2597] CHIP:TOO: } - [1659680091.149884][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 - [1659680091.149906][2592:2597] CHIP:TOO: Event number: 5 - [1659680091.149926][2592:2597] CHIP:TOO: Priority: Info - [1659680091.149947][2592:2597] CHIP:TOO: Timestamp: 2368467 - [1659680091.149971][2592:2597] CHIP:TOO: SwitchLatched: { - [1659680091.149993][2592:2597] CHIP:TOO: NewPosition: 0 - [1659680091.150013][2592:2597] CHIP:TOO: } [1659680091.150093][2592:2597] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_003B Event 0x0000_0000 [1659680091.150114][2592:2597] CHIP:TOO: Event number: 6 [1659680091.150135][2592:2597] CHIP:TOO: Priority: Info @@ -387,9 +354,8 @@ tests: [1659680091.150597][2592:2597] CHIP:TOO: SwitchLatched: { [1659680091.150630][2592:2597] CHIP:TOO: NewPosition: 1 <= this value will change for every change in position of simulated switch - - - Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch. + After 10 seconds, Send the above commands with NewPosition set to 0 + Repeat above Steps back every 10 seconds (over a 1 minute period) by changing the New Position 1 to 0 and 0 to 1 disabled: true - label: @@ -409,10 +375,13 @@ tests: - label: "Step 3b: DUT reads global attribute FeatureMap" PICS: SWTCH.C.F01 verification: | - 1. ./chip-tool interactive start - 2. switch read feature-map 1 1 + Note : Please skip this step if LATCH SWITCH feature is implemented, because a device can support either a latching switch(LS) or MS, MSR, MSL, MSM. + + In Raspi platform LS feature is implemented, So below mentioned log is for reference only - Verify FeatureMap value is 1 On TH (all-clusters-app) log + ./chip-tool switch read feature-map 1 1 + + Verify FeatureMap value is 30 On TH (all-clusters-app) log CHIP:DMG: ReportDataMessage = [1671450600.457719][8426:8426] CHIP:DMG: { @@ -430,7 +399,7 @@ tests: [1671450600.458108][8426:8426] CHIP:DMG: Attribute = 0x0000_FFFC, [1671450600.458122][8426:8426] CHIP:DMG: } [1671450600.458137][8426:8426] CHIP:DMG: - [1671450600.458151][8426:8426] CHIP:DMG: Data = 1, + [1671450600.458151][8426:8426] CHIP:DMG: Data = 30, [1671450600.458161][8426:8426] CHIP:DMG: }, [1671450600.458179][8426:8426] CHIP:DMG: [1671450600.458188][8426:8426] CHIP:DMG: }, @@ -445,8 +414,7 @@ tests: - label: "Step 3c: DUT reads attribute NumberOfPositions" PICS: SWTCH.C.F01 verification: | - 1 ./chip-tool interactive start - 2. switch read number-of-positions 1 1 + ./chip-tool switch read number-of-positions 1 1 Verify NumberOfPositions value is 2 in TH (all-clusters-app) log @@ -497,13 +465,7 @@ tests: [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1 [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress - Verify for InitialPress event in DUT(chip-tool) Log, e.g. (one such message per event subscription being set up) - - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- - - 1. ./chip-tool interactive start - 2. switch subscribe-event initial-press 1 100 1 1 + ./chip-tool switch read-event initial-press 1 1 Verify InitialPress event with NewPosition set to 0 on DUT(chip-tool) log: @@ -524,11 +486,7 @@ tests: [1659683678.805777][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1 [1659683678.805858][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- - - 1. ./chip-tool interactive start - 2. switch subscribe-event short-release 1 100 1 1 + ./chip-tool switch read-event short-release 1 1 Verify ShortRelease event with PreviousPosition set to 0 on DUT(chip-tool) log: @@ -551,12 +509,7 @@ tests: [1686294416.290761][30986:30986] CHIP:-: The new position when the momentary switch has been pressed for a long time:1 [1686294416.290775][30986:30986] CHIP:ZCL: SwitchServer: OnLongPress - - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- - - 1. ./chip-tool interactive start - 2. switch subscribe-event long-press 1 100 1 1 + ./chip-tool switch read-event long-press 1 1 Verify LongPress event with NewPosition set to 1 on TH(chip-tool) log: @@ -577,11 +530,7 @@ tests: [1686294209.672219][30986:30986] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released after having been pressed for a long time:1 [1686294209.672229][30986:30986] CHIP:ZCL: SwitchServer: OnLongRelease - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- - - 1. ./chip-tool interactive start - 2. switch subscribe-event long-release 1 100 1 1 + ./chip-tool switch read-event long-release 1 1 Verify LongRelease event with PreviousPosition set to 1 on DUT(chip-tool) log: @@ -606,7 +555,7 @@ tests: On Raspi platform to trigger the event give the below command by opening an another terminal in DUT (Below is the example command developed in all-clusters-app to generate the event, Vendor DUT should have capability to generate this event) - TH simulates operation of the switch by repeating these steps (over a 1 minute period) + change state from 0 to 1 echo '{"Name":"InitialPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_ (PID of DUT) @@ -617,10 +566,9 @@ tests: [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1 [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress - In parallel to this, Read the CurrentPosition attribute + wait 10 seconds, Read the CurrentPosition attribute - 1. ./chip-tool interactive start - 2. switch read current-position 1 1 + ./chip-tool switch read current-position 1 1 Verify CurrentPosition value is 1 On TH(all-cluster-app) log @@ -651,7 +599,6 @@ tests: [1686294581.634152][30986:30986] CHIP:DMG: InteractionModelRevision = 1 [1686294581.634154][30986:30986] CHIP:DMG: } - After 0.2 seconds, send this command echo '{"Name":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_ (PID of DUT) @@ -663,10 +610,9 @@ tests: [1659683678.805777][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1 [1659683678.805858][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease - In parallel to this, Read the CurrentPosition attribute + wait 10 seconds, Read the CurrentPosition attribute - 1. ./chip-tool interactive start - 2. switch read current-position 1 1 + ./chip-tool switch read current-position 1 1 Verify CurrentPosition value is 0 On TH(all-cluster-app) log @@ -696,6 +642,9 @@ tests: [1686294592.640739][30986:30986] CHIP:DMG: SuppressResponse = true, [1686294592.640755][30986:30986] CHIP:DMG: InteractionModelRevision = 1 [1686294592.640768][30986:30986] CHIP:DMG: } + + + Repeat above steps over 1 minute period of time disabled: true - label: @@ -720,22 +669,7 @@ tests: [1659624126.647438][8590:8590] CHIP:-: The new position when the momentary switch starts to be pressed:1 [1659624126.647480][8590:8590] CHIP:ZCL: SwitchServer: OnInitialPress - After 0.2 seconds, send this command - - echo '{"Name":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_ (PID of DUT) - - Verify ShortRelease event with PreviousPosition set to 1 on TH(all-cluster-app) log: - - [1659684051.064329][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}" - [1659684051.064820][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7716 - [1659684051.064904][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1 - [1659684051.064994][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease - - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- - - 1. ./chip-tool interactive start - 2. switch subscribe-event initial-press 1 100 1 1 + ./chip-tool switch read-event initial-press 1 1 Verify InitialPress event with NewPosition set to 1 on DUT(chip-tool) log: @@ -747,11 +681,18 @@ tests: [1659527630.476934][4774:4779] CHIP:TOO: NewPosition: 1 [1659527630.476969][4774:4779] CHIP:TOO: } - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- + After 0.2 seconds, send this command + + echo '{"Name":"ShortRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_ (PID of DUT) + + Verify ShortRelease event with PreviousPosition set to 1 on TH(all-cluster-app) log: + + [1659684051.064329][2530:2538] CHIP:-: Received payload: "{"Name":"ShortRelease","PreviousPosition":1}" + [1659684051.064820][2530:2530] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to ee5e7716 + [1659684051.064904][2530:2530] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released:1 + [1659684051.064994][2530:2530] CHIP:ZCL: SwitchServer: OnShortRelease - 1. ./chip-tool interactive start - 2. switch subscribe-event short-release 1 100 1 1 + ./chip-tool switch read-event short-release 1 1 Verify ShortRelease event with PreviousPosition set to 1 on DUT(chip-tool) log: @@ -762,11 +703,7 @@ tests: [1659527630.476887][4774:4779] CHIP:TOO: ShortRelease: { [1659527630.476934][4774:4779] CHIP:TOO: PreviousPosition: 1 [1659527630.476969][4774:4779] CHIP:TOO: } - - After 10 seconds, repeat these commands (again with 0.2 s between them). - Repeat this for 1 minute total. - - Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch. + Repeat above steps over a 1 minute period of time disabled: true - label: @@ -792,33 +729,7 @@ tests: [1686295316.319509][30986:30986] CHIP:-: The new position when the momentary switch starts to be pressed:1 [1686295316.319518][30986:30986] CHIP:ZCL: SwitchServer: OnInitialPress - After 0.75 seconds, send this command - - echo '{"Name":"LongPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_ (PID of DUT) - - Verify LongPress event with NewPosition set to 1 on TH(all-cluster-app) log: - - [1686295316.319181][30986:30989] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}" - [1686295316.319478][30986:30986] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to bae4056b - [1686295316.319509][30986:30986] CHIP:-: The new position when the momentary switch starts to be pressed:1 - [1686295316.319518][30986:30986] CHIP:ZCL: SwitchServer: OnInitialPress - - After 2 seconds, send this command - - echo '{"Name":"LongRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_ (PID of DUT) - - Verify LonglRelease event with PreviousPosition set to 1 on TH(all-cluster-app) log: - - [1686295393.569670][30986:30989] CHIP:-: Received payload: "{"Name":"LongRelease","PreviousPosition":1}" - [1686295393.569925][30986:30986] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to bae4056d - [1686295393.569959][30986:30986] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released after having been pressed for a long time:1 - [1686295393.569976][30986:30986] CHIP:ZCL: SwitchServer: OnLongRelease - - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- - - 1. ./chip-tool interactive start - 2. switch subscribe-event initial-press 1 100 1 1 + ./chip-tool switch read-event initial-press 1 1 Verify InitialPress event with NewPosition set to 1 on TH(chip-tool) log: @@ -830,11 +741,18 @@ tests: [1659527630.476934][4774:4779] CHIP:TOO: NewPosition: 1 [1659527630.476969][4774:4779] CHIP:TOO: } - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- + After 0.75 seconds, send this command + + echo '{"Name":"LongPress","NewPosition":1}' > /tmp/chip_all_clusters_fifo_ (PID of DUT) + + Verify LongPress event with NewPosition set to 1 on TH(all-cluster-app) log: + + [1686295316.319181][30986:30989] CHIP:-: Received payload: "{"Name":"InitialPress","NewPosition":1}" + [1686295316.319478][30986:30986] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to bae4056b + [1686295316.319509][30986:30986] CHIP:-: The new position when the momentary switch starts to be pressed:1 + [1686295316.319518][30986:30986] CHIP:ZCL: SwitchServer: OnInitialPress - 1. ./chip-tool interactive start - 2. switch subscribe-event long-press 1 100 1 1 + ./chip-tool switch read-event long-press 1 1 Verify LongPress event with NewPosition set to 1 on TH(chip-tool) log: @@ -846,11 +764,18 @@ tests: [1659527630.476934][4774:4779] CHIP:TOO: NewPosition: 1 [1659527630.476969][4774:4779] CHIP:TOO: } - Please use Interactive mode to Verify the subscription of an event - Here the command to enter interactive mode:-- + After 2 seconds, send this command + + echo '{"Name":"LongRelease","PreviousPosition":1}' > /tmp/chip_all_clusters_fifo_ (PID of DUT) - 1. ./chip-tool interactive start - 2. switch subscribe-event long-release 1 100 1 1 + Verify LonglRelease event with PreviousPosition set to 1 on TH(all-cluster-app) log: + + [1686295393.569670][30986:30989] CHIP:-: Received payload: "{"Name":"LongRelease","PreviousPosition":1}" + [1686295393.569925][30986:30986] CHIP:DMG: Endpoint 1, Cluster 0x0000_003B update version to bae4056d + [1686295393.569959][30986:30986] CHIP:-: The the previous value of the CurrentPosition when the momentary switch has been released after having been pressed for a long time:1 + [1686295393.569976][30986:30986] CHIP:ZCL: SwitchServer: OnLongRelease + + ./chip-tool switch read-event long-release 1 1 Verify LonglRelease event with PreviousPosition set to 1 on TH(chip-tool) log: @@ -862,8 +787,5 @@ tests: [1659527630.476934][4774:4779] CHIP:TOO: PreviousPosition: 1 [1659527630.476969][4774:4779] CHIP:TOO: } - After 8 seconds, repeat this set of commands - Repeat this for 1 minute total. - - Watch whether DUT presents state of simulated switch and/or controls another device based on the state of the switch. + Repeat above steps Over a 1 minute period of time disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_S_2_3.yaml b/src/app/tests/suites/certification/Test_TC_S_2_3.yaml index e0bfab2f8d1ff5..1ef48e6377103f 100644 --- a/src/app/tests/suites/certification/Test_TC_S_2_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_S_2_3.yaml @@ -13,7 +13,7 @@ # limitations under the License. # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default -name: 123.2.3. [TC-S-2.3] Secondary functionality with DUT as Server +name: 123.2.3. [TC-S-2.3] Secondary functionality with DUT as Server PICS: - S.S @@ -238,7 +238,7 @@ tests: set to G1, the SceneID field set to 0x01, the TransitionTime field set to 0x0001 (1s) and a set of extension fields appropriate to AC1." # This step is overwriting Step 2a, we need to add PICS !S.S.C40.Rsp here, see issue: https://github.com/CHIP-Specifications/chip-test-plans/issues/3509 - PICS: S.S.C00.Rsp && PICS_SDK_CI_ONLY + PICS: S.S.C00.Rsp && !S.S.C40.Rsp && PICS_SDK_CI_ONLY command: "AddScene" arguments: values: @@ -280,7 +280,7 @@ tests: verification: | Execute the following command in TH to generate the pre-condition to execute this test case: - ./chip-tool scenes enhanced-add-scene 0x000a 1 1 "Test Name" '[{"clusterId": value, "attributeValueList":[{"attributeId": value, "attributeValue": value}]}' nodeId endpointId + ./chip-tool scenes enhanced-add-scene GroupID SceneID TransitionTime "SceneName" '[{"clusterId": value, "attributeValueList":[{"attributeId": value, "attributeValue": value}]}' nodeId endpointId Note: The number of ExtensionFieldSets, the value of clusterId of each ExtensionFieldSet, the number of attributes in attributeValueList and their values varies for each application @@ -342,7 +342,7 @@ tests: verification: | Execute the following command in TH to generate the pre-condition to execute this test case: - ./chip-tool scenes add-scene 0x0001 1 1 "Test Name" '[{"clusterId": value, "attributeValueList":[{"attributeId": value, "attributeValue": value}]}' nodeId endpointId + ./chip-tool scenes add-scene GroupID SceneID TransitionTime "SceneName" '[{"clusterId": value, "attributeValueList":[{"attributeId": value, "attributeValue": value}]}' nodeId endpointId Note: The number of ExtensionFieldSets, the value of clusterId of each ExtensionFieldSet, the number of attributes in attributeValueList and their values varies for each application @@ -387,7 +387,7 @@ tests: cluster: "LogCommands" command: "UserPrompt" # This step is overwriting Step 2a, we need to add PICS !S.S.C40.Rsp here, see issue: https://github.com/CHIP-Specifications/chip-test-plans/issues/3509 - PICS: S.S.C00.Rsp && PICS_SKIP_SAMPLE_APP + PICS: S.S.C00.Rsp && !S.S.C40.Rsp && PICS_SKIP_SAMPLE_APP arguments: values: - name: "message" @@ -438,7 +438,7 @@ tests: "Step 3b: TH sends a ViewScene command to DUT with the GroupID field set to G1 and the SceneID field set to 0x01." # This step is redundant with Step 3a, we should add PICS !S.S.C41.Rsp here, see issue: https://github.com/CHIP-Specifications/chip-test-plans/issues/3509 - PICS: S.S.C01.Rsp && PICS_SDK_CI_ONLY + PICS: S.S.C01.Rsp && !S.S.C41.Rsp && PICS_SDK_CI_ONLY command: "ViewScene" arguments: values: @@ -503,7 +503,7 @@ tests: "Step 3b: TH sends a ViewScene command to DUT with the GroupID field set to G1 and the SceneID field set to 0x01." # This step is redundant with Step 3a, we should add PICS !S.S.C41.Rsp here, see issue: https://github.com/CHIP-Specifications/chip-test-plans/issues/3509 - PICS: S.S.C01.Rsp && PICS_SKIP_SAMPLE_APP + PICS: S.S.C01.Rsp && !S.S.C41.Rsp && PICS_SKIP_SAMPLE_APP verification: | Execute the following command in TH to generate the pre-condition to execute this test case: diff --git a/src/app/tests/suites/certification/Test_TC_S_3_1.yaml b/src/app/tests/suites/certification/Test_TC_S_3_1.yaml index 36d0b7e71c284e..9fd90636871873 100644 --- a/src/app/tests/suites/certification/Test_TC_S_3_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_S_3_1.yaml @@ -1,4 +1,4 @@ -# Copyright (c) 2023 Project CHIP Authors +# Copyright (c) 2024 Project CHIP Authors # # Licensed under the Apache License, Version 2.0 (the "License"); # you may not use this file except in compliance with the License. @@ -39,113 +39,243 @@ tests: - label: "Step 1: DUT issues a C_ADD_SCENE command to the Test Harness." PICS: S.C.C00.Tx verification: | - DUT issues a C_ADD_SCENE command to the Test Harness equivalent to the following chip-tool command: - ./chip-tool scenes add-scene GroupID SceneID1 TransitionTime "Scene Name" '[{"clusterId": value, "attributeValueList":[{"attributeId": value, "attributeValue": value}]}' NodeID EndpointID + ./chip-tool scenesmanagement add-scene 0x0001 0x01 1 "scene name" '[{"clusterID": "0x0300", "attributeValueList":[{"attributeID": "0x4001", "attributeValue": "0x01"}]}]' 1 1 - Note: The number of ExtensionFieldSets, the value of clusterId of each ExtensionFieldSet, the number of attributes in attributeValueList and their values varies for each application + Verify TH recieves "AddScene" command with following parameters: + - ID 0 (GroupID): the type is a group-id. + - ID 1 (SceneID): the type is an uint8. + - ID 2 (TransitionTime): the type is an uint16; max of 60000. + - ID 3 (SceneName): the type is a string; max of 16 bytes + - ID 4 (ExtensionFieldSetStructs): the type is a list of ExtensionFieldSetStruct: ClusterID and AttributeValueList. on TH (all-cluster-app) log and below is the sample log provided for the raspi platform: - Verify the DUT receives "AddSceneResponse" command on sending message to the all-clusters-app. The log below should be seen on DUT - - [1702307872.231804][4852:4854] CHIP:DMG: Received Command Response Data, Endpoint=EndpointID Cluster=0x0000_0005 Command=0x0000_0000 - [1702307872.231895][4852:4854] CHIP:TOO: Endpoint: EndpointID Cluster: 0x0000_0005 Command 0x0000_0000 - [1702307872.232137][4852:4854] CHIP:TOO: AddSceneResponse: { - [1702307872.232800][4852:4854] CHIP:TOO: status: 0 - [1702307872.232873][4852:4854] CHIP:TOO: groupID: GroupID - [1702307872.232928][4852:4854] CHIP:TOO: sceneID: SceneID1 - [1702307872.232976][4852:4854] CHIP:TOO: } + [1701765953.034002][9503:9503] CHIP:DMG: InvokeRequestMessage = + [1701765953.034015][9503:9503] CHIP:DMG: { + [1701765953.034025][9503:9503] CHIP:DMG: suppressResponse = false, + [1701765953.034040][9503:9503] CHIP:DMG: timedRequest = false, + [1701765953.034049][9503:9503] CHIP:DMG: InvokeRequests = + [1701765953.034078][9503:9503] CHIP:DMG: [ + [1701765953.034088][9503:9503] CHIP:DMG: CommandDataIB = + [1701765953.034103][9503:9503] CHIP:DMG: { + [1701765953.034115][9503:9503] CHIP:DMG: CommandPathIB = + [1701765953.034128][9503:9503] CHIP:DMG: { + [1701765953.034139][9503:9503] CHIP:DMG: EndpointId = 0x1, + [1701765953.034152][9503:9503] CHIP:DMG: ClusterId = 0x5, + [1701765953.034165][9503:9503] CHIP:DMG: CommandId = 0x0, + [1701765953.034176][9503:9503] CHIP:DMG: }, + [1701765953.034195][9503:9503] CHIP:DMG: + [1701765953.034206][9503:9503] CHIP:DMG: CommandFields = + [1701765953.034219][9503:9503] CHIP:DMG: { + [1701765953.034232][9503:9503] CHIP:DMG: 0x0 = 1, + [1701765953.034246][9503:9503] CHIP:DMG: 0x1 = 1, + [1701765953.034259][9503:9503] CHIP:DMG: 0x2 = 1, + [1701765953.034286][9503:9503] CHIP:DMG: 0x3 = "scene name" (10 chars), + [1701765953.034299][9503:9503] CHIP:DMG: 0x4 = [ + [1701765953.034313][9503:9503] CHIP:DMG: + [1701765953.034342][9503:9503] CHIP:DMG: { + [1701765953.034356][9503:9503] CHIP:DMG: 0x0 = 768, + [1701765953.034368][9503:9503] CHIP:DMG: 0x1 = [ + [1701765953.034382][9503:9503] CHIP:DMG: + [1701765953.034397][9503:9503] CHIP:DMG: { + [1701765953.034416][9503:9503] CHIP:DMG: 0x0 = 16385, + [1701765953.034432][9503:9503] CHIP:DMG: 0x1 = 1, + [1701765953.034448][9503:9503] CHIP:DMG: }, + [1701765953.034463][9503:9503] CHIP:DMG: ], + [1701765953.034475][9503:9503] CHIP:DMG: }, + [1701765953.034487][9503:9503] CHIP:DMG: ], + [1701765953.034500][9503:9503] CHIP:DMG: }, + [1701765953.034510][9503:9503] CHIP:DMG: }, + [1701765953.034537][9503:9503] CHIP:DMG: + [1701765953.034547][9503:9503] CHIP:DMG: ], + [1701765953.034573][9503:9503] CHIP:DMG: + [1701765953.034584][9503:9503] CHIP:DMG: InteractionModelRevision = 11 + [1701765953.034594][9503:9503] CHIP:DMG: }, disabled: true - label: "Step 2: DUT issues a C_VIEW_SCENE command to the Test Harness." PICS: S.C.C01.Tx verification: | - DUT issues a C_VIEW_SCENE command to the Test Harness equivalent to the following chip-tool command: - ./chip-tool scenes view-scene GroupID SceneID1 NodeID EndpointID - - Verify the DUT receives the view-scenes response and that the extension fields in the log match the ones expected. - The expected number of ExtensionFieldSets, the value of the clusterId of each ExtensionFieldSet, the number of attributes in attributeValueList and their values - will vary depending on the TH application. - - [1702308535.141808][4874:4876] CHIP:DMG: Received Command Response Data, Endpoint=EndpointID Cluster=0x0000_0005 Command=0x0000_0001 - [1702308535.141865][4874:4876] CHIP:TOO: Endpoint: EndpointID Cluster: 0x0000_0005 Command 0x0000_0001 - [1702308535.141999][4874:4876] CHIP:TOO: ViewSceneResponse: { - [1702308535.142032][4874:4876] CHIP:TOO: status: 0 - [1702308535.142058][4874:4876] CHIP:TOO: groupID: GroupID - [1702308535.142084][4874:4876] CHIP:TOO: sceneID: SceneID1 - [1702308535.142110][4874:4876] CHIP:TOO: transitionTime: TransitionTime - [1702308535.142138][4874:4876] CHIP:TOO: sceneName: Scene Name - [1702308535.142176][4874:4876] CHIP:TOO: extensionFieldSets: x entries - [1702308535.142220][4874:4876] CHIP:TOO: [ClusterCount]: { - [1702308535.142248][4874:4876] CHIP:TOO: ClusterID: clusterId - [1702308535.142279][4874:4876] CHIP:TOO: AttributeValueList: x entries - [1702308535.143760][4874:4876] CHIP:TOO: [clusterX]: { - [1702308535.143796][4874:4876] CHIP:TOO: AttributeID: attributeId - [1702308535.143825][4874:4876] CHIP:TOO: AttributeValue: attributeValue - [1702308535.143853][4874:4876] CHIP:TOO: } ... - [1702308535.143881][4874:4876] CHIP:TOO: } - [1702308535.143910][4874:4876] CHIP:TOO: } + ./chip-tool scenesmanagement view-scene 0x0001 0x01 1 1 + + Verify TH recieves "ViewScene" command with following parameters: + - ID 0 (GroupID): the type is a group-id. + - ID 1 (SceneID): the type is an uint8.on TH (all-cluster-app) log and below is the sample log provided for the raspi platform: + + [1701766130.182823][9503:9503] CHIP:DMG: InvokeRequestMessage = + [1701766130.182837][9503:9503] CHIP:DMG: { + [1701766130.182848][9503:9503] CHIP:DMG: suppressResponse = false, + [1701766130.182859][9503:9503] CHIP:DMG: timedRequest = false, + [1701766130.182869][9503:9503] CHIP:DMG: InvokeRequests = + [1701766130.182889][9503:9503] CHIP:DMG: [ + [1701766130.182899][9503:9503] CHIP:DMG: CommandDataIB = + [1701766130.182911][9503:9503] CHIP:DMG: { + [1701766130.182919][9503:9503] CHIP:DMG: CommandPathIB = + [1701766130.182935][9503:9503] CHIP:DMG: { + [1701766130.182947][9503:9503] CHIP:DMG: EndpointId = 0x1, + [1701766130.182960][9503:9503] CHIP:DMG: ClusterId = 0x5, + [1701766130.182971][9503:9503] CHIP:DMG: CommandId = 0x1, + [1701766130.182982][9503:9503] CHIP:DMG: }, + [1701766130.182996][9503:9503] CHIP:DMG: + [1701766130.183007][9503:9503] CHIP:DMG: CommandFields = + [1701766130.183018][9503:9503] CHIP:DMG: { + [1701766130.183032][9503:9503] CHIP:DMG: 0x0 = 1, + [1701766130.183044][9503:9503] CHIP:DMG: 0x1 = 1, + [1701766130.183056][9503:9503] CHIP:DMG: }, + [1701766130.183066][9503:9503] CHIP:DMG: }, + [1701766130.183082][9503:9503] CHIP:DMG: + [1701766130.183091][9503:9503] CHIP:DMG: ], + [1701766130.183110][9503:9503] CHIP:DMG: + [1701766130.183120][9503:9503] CHIP:DMG: InteractionModelRevision = 11 + [1701766130.183129][9503:9503] CHIP:DMG: }, disabled: true - label: "Step 3: DUT issues a C_REMOVE_SCENE command to the Test Harness." PICS: S.C.C02.Tx verification: | - DUT issues a C_REMOVE_SCENE command to the Test Harness equivalent to the following chip-tool command: - ./chip-tool scenes remove-scene GroupID SceneID1 NodeID EndpointID - - Verify the DUT receives the RemoveSceneResponse command. The log below should be seen on DUT - - [1702309101.681384][4891:4893] CHIP:DMG: Received Command Response Data, Endpoint=EndpointID Cluster=0x0000_0005 Command=0x0000_0002 - [1702309101.681465][4891:4893] CHIP:TOO: Endpoint: EndpointID Cluster: 0x0000_0005 Command 0x0000_0002 - [1702309101.681600][4891:4893] CHIP:TOO: RemoveSceneResponse: { - [1702309101.681733][4891:4893] CHIP:TOO: status: 0 - [1702309101.681822][4891:4893] CHIP:TOO: groupID: GroupID - [1702309101.681862][4891:4893] CHIP:TOO: sceneID: SceneID1 - [1702309101.681901][4891:4893] CHIP:TOO: } + ./chip-tool scenesmanagement remove-scene 0x0001 0x01 1 1 + + Verify TH recieves "RemoveScene" command with following parameters: + - ID 0 (GroupID): the type is a group-id. + - ID 1 (SceneID): the type is an uint8. + on TH (all-cluster-app) log and below is the sample log provided for the raspi platform: + + [1701766180.585251][9503:9503] CHIP:DMG: InvokeRequestMessage = + [1701766180.585255][9503:9503] CHIP:DMG: { + [1701766180.585259][9503:9503] CHIP:DMG: suppressResponse = false, + [1701766180.585263][9503:9503] CHIP:DMG: timedRequest = false, + [1701766180.585267][9503:9503] CHIP:DMG: InvokeRequests = + [1701766180.585273][9503:9503] CHIP:DMG: [ + [1701766180.585276][9503:9503] CHIP:DMG: CommandDataIB = + [1701766180.585279][9503:9503] CHIP:DMG: { + [1701766180.585282][9503:9503] CHIP:DMG: CommandPathIB = + [1701766180.585286][9503:9503] CHIP:DMG: { + [1701766180.585289][9503:9503] CHIP:DMG: EndpointId = 0x1, + [1701766180.585292][9503:9503] CHIP:DMG: ClusterId = 0x5, + [1701766180.585296][9503:9503] CHIP:DMG: CommandId = 0x2, + [1701766180.585298][9503:9503] CHIP:DMG: }, + [1701766180.585302][9503:9503] CHIP:DMG: + [1701766180.585305][9503:9503] CHIP:DMG: CommandFields = + [1701766180.585308][9503:9503] CHIP:DMG: { + [1701766180.585312][9503:9503] CHIP:DMG: 0x0 = 1, + [1701766180.585315][9503:9503] CHIP:DMG: 0x1 = 1, + [1701766180.585318][9503:9503] CHIP:DMG: }, + [1701766180.585320][9503:9503] CHIP:DMG: }, + [1701766180.585325][9503:9503] CHIP:DMG: + [1701766180.585327][9503:9503] CHIP:DMG: ], + [1701766180.585332][9503:9503] CHIP:DMG: + [1701766180.585334][9503:9503] CHIP:DMG: InteractionModelRevision = 11 + [1701766180.585337][9503:9503] CHIP:DMG: }, disabled: true - label: "Step 4: DUT issues a C_REMOVE_ALL_SCENES command to the Test Harness." PICS: S.C.C03.Tx verification: | - DUT issues a C_REMOVE_ALL_SCENES command to the Test Harness equivalent to the following chip-tool command: - ./chip-tool scenes remove-all-scenes GroupID NodeID EndpointID - - Verify the DUT receives the RemoveAllScenesResponse command. The log below should be seen on DUT + ./chip-tool scenesmanagement remove-all-scenes 0x0001 1 1 - [1702313181.462597][5014:5016] CHIP:DMG: Received Command Response Data, Endpoint=EndpointID Cluster=0x0000_0005 Command=0x0000_0003 - [1702313181.462674][5014:5016] CHIP:TOO: Endpoint: EndpointID Cluster: 0x0000_0005 Command 0x0000_0003 - [1702313181.462804][5014:5016] CHIP:TOO: RemoveAllScenesResponse: { - [1702313181.462850][5014:5016] CHIP:TOO: status: 0 - [1702313181.462889][5014:5016] CHIP:TOO: groupID: GroupID - [1702313181.462928][5014:5016] CHIP:TOO: } + Verify TH recieves "RemoveAllScenes" command with following parameters: + - ID 0 (GroupID): the type is a group-id. + on TH (all-cluster-app) log and below is the sample log provided for the raspi platform: + [1701766227.694588][9503:9503] CHIP:DMG: InvokeRequestMessage = + [1701766227.694600][9503:9503] CHIP:DMG: { + [1701766227.694608][9503:9503] CHIP:DMG: suppressResponse = false, + [1701766227.694618][9503:9503] CHIP:DMG: timedRequest = false, + [1701766227.694625][9503:9503] CHIP:DMG: InvokeRequests = + [1701766227.694641][9503:9503] CHIP:DMG: [ + [1701766227.694648][9503:9503] CHIP:DMG: CommandDataIB = + [1701766227.694669][9503:9503] CHIP:DMG: { + [1701766227.694680][9503:9503] CHIP:DMG: CommandPathIB = + [1701766227.694692][9503:9503] CHIP:DMG: { + [1701766227.694704][9503:9503] CHIP:DMG: EndpointId = 0x1, + [1701766227.694717][9503:9503] CHIP:DMG: ClusterId = 0x5, + [1701766227.694729][9503:9503] CHIP:DMG: CommandId = 0x3, + [1701766227.694739][9503:9503] CHIP:DMG: }, + [1701766227.694753][9503:9503] CHIP:DMG: + [1701766227.694763][9503:9503] CHIP:DMG: CommandFields = + [1701766227.694775][9503:9503] CHIP:DMG: { + [1701766227.694788][9503:9503] CHIP:DMG: 0x0 = 1, + [1701766227.694800][9503:9503] CHIP:DMG: }, + [1701766227.694810][9503:9503] CHIP:DMG: }, + [1701766227.694826][9503:9503] CHIP:DMG: + [1701766227.694836][9503:9503] CHIP:DMG: ], + [1701766227.694853][9503:9503] CHIP:DMG: + [1701766227.694863][9503:9503] CHIP:DMG: InteractionModelRevision = 11 + [1701766227.694872][9503:9503] CHIP:DMG: }, disabled: true - label: "Step 5: DUT issues a C_STORE_SCENE command to the Test Harness." PICS: S.C.C04.Tx verification: | - DUT issues a C_STORE_SCENE command to the Test Harness equivalent to the following chip-tool command: - ./chip-tool scenes store-scene GroupID SceneID1 NodeID EndpointID - - Verify the DUT receives the StoreSceneResponse command. The log below should be seen on DUT - - [1702313453.832028][5031:5033] CHIP:DMG: Received Command Response Data, Endpoint=EndpointID Cluster=0x0000_0005 Command=0x0000_0004 - [1702313453.832181][5031:5033] CHIP:TOO: Endpoint: EndpointID Cluster: 0x0000_0005 Command 0x0000_0004 - [1702313453.832421][5031:5033] CHIP:TOO: StoreSceneResponse: { - [1702313453.832484][5031:5033] CHIP:TOO: status: 0 - [1702313453.832536][5031:5033] CHIP:TOO: groupID: GroupID - [1702313453.832588][5031:5033] CHIP:TOO: sceneID: SceneID1 - [1702313453.832681][5031:5033] CHIP:TOO: } + ./chip-tool scenesmanagement store-scene 0x0001 0x01 1 1 + + Verify TH recieves "StoreScene" command with following parameters: + - ID 0 (GroupID): the type is a group-id. + - ID 1 (SceneID): the type is an uint8. + on TH (all-cluster-app) log and below is the sample log provided for the raspi platform: + + [1701766289.958764][9503:9503] CHIP:DMG: InvokeRequestMessage = + [1701766289.958776][9503:9503] CHIP:DMG: { + [1701766289.958784][9503:9503] CHIP:DMG: suppressResponse = false, + [1701766289.958794][9503:9503] CHIP:DMG: timedRequest = false, + [1701766289.958801][9503:9503] CHIP:DMG: InvokeRequests = + [1701766289.958818][9503:9503] CHIP:DMG: [ + [1701766289.958825][9503:9503] CHIP:DMG: CommandDataIB = + [1701766289.958845][9503:9503] CHIP:DMG: { + [1701766289.958855][9503:9503] CHIP:DMG: CommandPathIB = + [1701766289.958868][9503:9503] CHIP:DMG: { + [1701766289.958879][9503:9503] CHIP:DMG: EndpointId = 0x1, + [1701766289.958892][9503:9503] CHIP:DMG: ClusterId = 0x5, + [1701766289.958911][9503:9503] CHIP:DMG: CommandId = 0x4, + [1701766289.958924][9503:9503] CHIP:DMG: }, + [1701766289.958937][9503:9503] CHIP:DMG: + [1701766289.958948][9503:9503] CHIP:DMG: CommandFields = + [1701766289.958960][9503:9503] CHIP:DMG: { + [1701766289.958973][9503:9503] CHIP:DMG: 0x0 = 1, + [1701766289.958986][9503:9503] CHIP:DMG: 0x1 = 1, + [1701766289.958997][9503:9503] CHIP:DMG: }, + [1701766289.959007][9503:9503] CHIP:DMG: }, + [1701766289.959024][9503:9503] CHIP:DMG: + [1701766289.959033][9503:9503] CHIP:DMG: ], + [1701766289.959051][9503:9503] CHIP:DMG: + [1701766289.959061][9503:9503] CHIP:DMG: InteractionModelRevision = 11 + [1701766289.959070][9503:9503] CHIP:DMG: }, disabled: true - label: "Step 6: DUT issues a C_RECALL_SCENE command to the Test Harness." PICS: S.C.C05.Tx verification: | - DUT issues a C_RECALL_SCENE command to the Test Harness equivalent to the following chip-tool command: - ./chip-tool scenes recall-scene GroupID SceneID1 NodeID EndpointID + ./chip-tool scenesmanagement recall-scene 0x0001 0x01 1 1 - Verify the DUT receives Success (0x00) status as a response. The log below should be seen on DUT + Verify TH recieves "RecallScene" command with following parameters: + - ID 0 (GroupID): the type is a group-id. + - ID 1 (SceneID): the type is an uint8 on TH (all-cluster-app) log and below is the sample log provided for the raspi platform: - [1702313771.265859][5044:5046] CHIP:DMG: Received Command Response Status for Endpoint=EndpointID Cluster=0x0000_0005 Command=0x0000_0005 Status=0x0 + [1701766368.793204][9503:9503] CHIP:DMG: InvokeRequestMessage = + [1701766368.793216][9503:9503] CHIP:DMG: { + [1701766368.793226][9503:9503] CHIP:DMG: suppressResponse = false, + [1701766368.793238][9503:9503] CHIP:DMG: timedRequest = false, + [1701766368.793248][9503:9503] CHIP:DMG: InvokeRequests = + [1701766368.793267][9503:9503] CHIP:DMG: [ + [1701766368.793276][9503:9503] CHIP:DMG: CommandDataIB = + [1701766368.793288][9503:9503] CHIP:DMG: { + [1701766368.793298][9503:9503] CHIP:DMG: CommandPathIB = + [1701766368.793309][9503:9503] CHIP:DMG: { + [1701766368.793321][9503:9503] CHIP:DMG: EndpointId = 0x1, + [1701766368.793334][9503:9503] CHIP:DMG: ClusterId = 0x5, + [1701766368.793346][9503:9503] CHIP:DMG: CommandId = 0x5, + [1701766368.793355][9503:9503] CHIP:DMG: }, + [1701766368.793369][9503:9503] CHIP:DMG: + [1701766368.793380][9503:9503] CHIP:DMG: CommandFields = + [1701766368.793392][9503:9503] CHIP:DMG: { + [1701766368.793405][9503:9503] CHIP:DMG: 0x0 = 1, + [1701766368.793417][9503:9503] CHIP:DMG: 0x1 = 1, + [1701766368.793429][9503:9503] CHIP:DMG: }, + [1701766368.793439][9503:9503] CHIP:DMG: }, + [1701766368.793456][9503:9503] CHIP:DMG: + [1701766368.793465][9503:9503] CHIP:DMG: ], + [1701766368.793483][9503:9503] CHIP:DMG: + [1701766368.793493][9503:9503] CHIP:DMG: InteractionModelRevision = 11 + [1701766368.793502][9503:9503] CHIP:DMG: }, disabled: true - label: @@ -153,35 +283,78 @@ tests: Harness." PICS: S.C.C06.Tx verification: | - DUT issues a C_GET_SCENE_MEMBERSHIP command to the Test Harness equivalent to the following chip-tool command: - ./chip-tool scenes get-scene-membership GroupID NodeID EndpointID - - Verify the DUT receives the GetSceneMembershipResponse command. The log below should be seen on DUT - - [1702313969.025404][5063:5065] CHIP:DMG: Received Command Response Data, Endpoint=EndpointID Cluster=0x0000_0005 Command=0x0000_0006 - [1702313969.025568][5063:5065] CHIP:TOO: Endpoint: EndpointID Cluster: 0x0000_0005 Command 0x0000_0006 - [1702313969.025851][5063:5065] CHIP:TOO: GetSceneMembershipResponse: { - [1702313969.025918][5063:5065] CHIP:TOO: status: 0 - [1702313969.025973][5063:5065] CHIP:TOO: capacity: MaxCapacity - 1 - [1702313969.026024][5063:5065] CHIP:TOO: groupID: GroupID - [1702313969.026087][5063:5065] CHIP:TOO: sceneList: 1 entry - [1702313969.026147][5063:5065] CHIP:TOO: [1]: SceneID1 - [1702313969.026205][5063:5065] CHIP:TOO: } + ./chip-tool scenesmanagement get-scene-membership 0x00001 1 1 + + Verify TH recieves "GetSceneMembership" command with following parameters: + - ID 0 (GroupID): the type is a group-id. + on TH (all-cluster-app) log and below is the sample log provided for the raspi platform: + + [1701766468.058659][9503:9503] CHIP:DMG: InvokeRequestMessage = + [1701766468.058673][9503:9503] CHIP:DMG: { + [1701766468.058684][9503:9503] CHIP:DMG: suppressResponse = false, + [1701766468.058695][9503:9503] CHIP:DMG: timedRequest = false, + [1701766468.058705][9503:9503] CHIP:DMG: InvokeRequests = + [1701766468.058724][9503:9503] CHIP:DMG: [ + [1701766468.058733][9503:9503] CHIP:DMG: CommandDataIB = + [1701766468.058745][9503:9503] CHIP:DMG: { + [1701766468.058754][9503:9503] CHIP:DMG: CommandPathIB = + [1701766468.058766][9503:9503] CHIP:DMG: { + [1701766468.058778][9503:9503] CHIP:DMG: EndpointId = 0x1, + [1701766468.058790][9503:9503] CHIP:DMG: ClusterId = 0x5, + [1701766468.058802][9503:9503] CHIP:DMG: CommandId = 0x6, + [1701766468.058813][9503:9503] CHIP:DMG: }, + [1701766468.058827][9503:9503] CHIP:DMG: + [1701766468.058837][9503:9503] CHIP:DMG: CommandFields = + [1701766468.058849][9503:9503] CHIP:DMG: { + [1701766468.058862][9503:9503] CHIP:DMG: 0x0 = 1, + [1701766468.058874][9503:9503] CHIP:DMG: }, + [1701766468.058883][9503:9503] CHIP:DMG: }, + [1701766468.058900][9503:9503] CHIP:DMG: + [1701766468.058909][9503:9503] CHIP:DMG: ], + [1701766468.058927][9503:9503] CHIP:DMG: + [1701766468.058937][9503:9503] CHIP:DMG: InteractionModelRevision = 11 + [1701766468.058946][9503:9503] CHIP:DMG: }, disabled: true - label: "Step 8: DUT issues a C_COPY_SCENE command to the Test Harness." PICS: S.C.C09.Tx verification: | - DUT issues a C_COPY_SCENE command to the Test Harness equivalent to the following chip-tool command: - ./chip-tool scenes copy-scene 0 GroupID SceneID1 GroupID SceneID2 NodeID EndpointID - - Verify the DUT receives the CopySceneResponse command. The log below should be seen on DUT - - [1702314797.599704][5095:5097] CHIP:DMG: Received Command Response Data, Endpoint=EndpointID Cluster=0x0000_0005 Command=0x0000_0042 - [1702314797.599778][5095:5097] CHIP:TOO: Endpoint: EndpointID Cluster: 0x0000_0005 Command 0x0000_0042 - [1702314797.599898][5095:5097] CHIP:TOO: CopySceneResponse: { - [1702314797.599938][5095:5097] CHIP:TOO: status: 0 - [1702314797.599974][5095:5097] CHIP:TOO: groupIdentifierFrom: GroupID - [1702314797.600010][5095:5097] CHIP:TOO: sceneIdentifierFrom: SceneID2 - [1702314797.600044][5095:5097] CHIP:TOO: } + ./chip-tool scenesmanagement copy-scene 0x00 0x01 0x01 0x01 0x02 1 1 + + Verify TH recieves "CopyScene" command with following parameters: + - ID 0 (Mode): the type is a CopyModeBitmap; If this value is set to 1, all scenes are to be copied. Otherwise this bit is set to 0 + - ID 1 (GroupIdentifierFrom): the type is an group-id. + - ID 2 (SceneIdentifierFrom): the type is an uint8. + - ID 3 (GroupIdentifierTo): the type is an group-id. + - ID 4 (SceneIdentifierTo): the type is an uint8. on TH (all-cluster-app) log and below is the sample log provided for the raspi platform: + + [1701766693.900630][9503:9503] CHIP:DMG: InvokeRequestMessage = + [1701766693.900646][9503:9503] CHIP:DMG: { + [1701766693.900662][9503:9503] CHIP:DMG: suppressResponse = false, + [1701766693.900680][9503:9503] CHIP:DMG: timedRequest = false, + [1701766693.900694][9503:9503] CHIP:DMG: InvokeRequests = + [1701766693.900723][9503:9503] CHIP:DMG: [ + [1701766693.900735][9503:9503] CHIP:DMG: CommandDataIB = + [1701766693.900752][9503:9503] CHIP:DMG: { + [1701766693.900766][9503:9503] CHIP:DMG: CommandPathIB = + [1701766693.900784][9503:9503] CHIP:DMG: { + [1701766693.900801][9503:9503] CHIP:DMG: EndpointId = 0x1, + [1701766693.900819][9503:9503] CHIP:DMG: ClusterId = 0x5, + [1701766693.900836][9503:9503] CHIP:DMG: CommandId = 0x42, + [1701766693.900850][9503:9503] CHIP:DMG: }, + [1701766693.900870][9503:9503] CHIP:DMG: + [1701766693.900884][9503:9503] CHIP:DMG: CommandFields = + [1701766693.900902][9503:9503] CHIP:DMG: { + [1701766693.900921][9503:9503] CHIP:DMG: 0x0 = 0, + [1701766693.900938][9503:9503] CHIP:DMG: 0x1 = 1, + [1701766693.900955][9503:9503] CHIP:DMG: 0x2 = 1, + [1701766693.900973][9503:9503] CHIP:DMG: 0x3 = 1, + [1701766693.900990][9503:9503] CHIP:DMG: 0x4 = 2, + [1701766693.901006][9503:9503] CHIP:DMG: }, + [1701766693.901020][9503:9503] CHIP:DMG: }, + [1701766693.901047][9503:9503] CHIP:DMG: + [1701766693.901057][9503:9503] CHIP:DMG: ], + [1701766693.901085][9503:9503] CHIP:DMG: + [1701766693.901097][9503:9503] CHIP:DMG: InteractionModelRevision = 11 + [1701766693.901111][9503:9503] CHIP:DMG: }, disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_TCCM_2_1.yaml b/src/app/tests/suites/certification/Test_TC_TCCM_2_1.yaml index fa09a143c70f99..02c02462d85a0c 100644 --- a/src/app/tests/suites/certification/Test_TC_TCCM_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TCCM_2_1.yaml @@ -38,6 +38,7 @@ tests: Verify that the DUT response contains list of ModeOptionsStruct entries - Verify that the list has two or more entries + - Verify that PIXIT.TCCM.MODE_CHANGE_FAIL is one of supported_modes_dut - Save the Mode field values as supported_modes_dut on the TH (Chip-tool) and below is the sample log provided for the raspi platform: [1690189665.585798][16159:16161] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0052 Attribute 0x0000_0000 DataVersion: 473867547 @@ -99,13 +100,13 @@ tests: - label: "Step 5: Manually put the device in a state from which it will FAIL to transition to PIXIT.TCCM.MODE_CHANGE_FAIL" - PICS: TCCM.S.M.CAN_TEST_MODE_FAILURE + PICS: TCCM.S.M.CAN_MANUALLY_CONTROLLED && TCCM.S.M.CAN_TEST_MODE_FAILURE verification: | Manual operation required disabled: true - label: "Step 6: TH reads from the DUT the CurrentMode attribute." - PICS: TCCM.S.A0001 + PICS: TCCM.S.A0001 && TCCM.S.M.CAN_MANUALLY_CONTROLLED verification: | ./chip-tool refrigeratorandtemperaturecontrolledcabinetmode read current-mode 1 1 @@ -147,12 +148,13 @@ tests: - label: "Step 9: Manually put the device in a state from which it will SUCCESSFULLY transition to PIXIT.TCCM.MODE_CHANGE_OK" + PICS: TCCM.S.M.CAN_MANUALLY_CONTROLLED verification: | Manual operation required disabled: true - label: "Step 10: TH reads from the DUT the CurrentMode attribute." - PICS: TCCM.S.A0001 + PICS: TCCM.S.A0001 && TCCM.S.M.CAN_MANUALLY_CONTROLLED verification: | ./chip-tool refrigeratorandtemperaturecontrolledcabinetmode read current-mode 1 1 diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index b4b352611fe8ac..dbfd65e6d03d4d 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -3,6 +3,9 @@ MCORE.BRIDGECLIENT=0 MCORE.DT_SW_COMP=0 MCORE.UI.FACTORYRESET=1 +# Content App Observer Cluster +APPOBSERVER.S=1 + # Relative Humidity cluster RH.S=1 RH.S.A0000=1 diff --git a/src/app/tests/suites/ciTests.json b/src/app/tests/suites/ciTests.json index 732c09fe0dc482..9fed764e66db77 100644 --- a/src/app/tests/suites/ciTests.json +++ b/src/app/tests/suites/ciTests.json @@ -12,6 +12,7 @@ "Test_TC_ACL_2_9", "Test_TC_ACL_2_10" ], + "ContentAppObserver": [], "AccessControlEnforcement": ["Test_TC_ACE_1_1", "Test_TC_ACE_1_5"], "BooleanState": ["Test_TC_BOOL_1_1", "Test_TC_BOOL_2_1"], "Binding": ["Test_TC_BIND_1_1"], @@ -382,6 +383,7 @@ "Binding", "ColorControl", "ConcentrationMeasurement", + "ContentAppObserver", "DeviceManagement", "Descriptor", "DiagnosticsLogs", diff --git a/src/app/tests/suites/manualTests.json b/src/app/tests/suites/manualTests.json index f839359041e726..6f93954c172b7d 100644 --- a/src/app/tests/suites/manualTests.json +++ b/src/app/tests/suites/manualTests.json @@ -260,7 +260,7 @@ "LevelControl": [], "LaundryWasherMode": ["Test_TC_LWM_1_2"], "OnOff": ["Test_TC_OO_2_3"], - "OperationalState": ["Test_TC_OPSTATE_2_2"], + "OperationalState": ["Test_TC_OPSTATE_2_2", "Test_TC_OPSTATE_2_5"], "RelativeHumidityMeasurement": ["Test_TC_RH_2_2"], "SmokeCOAlarm": [], "RefrigeratorAlarm": ["Test_TC_REFALM_2_2", "Test_TC_REFALM_2_3"], 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 4dbde80e2d603b..548c417fcafb37 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -56944,56 +56944,56 @@ class Test_TC_I_2_2 : public TestCommandBridge { err = TestStep1bThReadsTheIdentifyTypeAttributeFromTheDut_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Verify that the device enters its identification state using the IdentifyType from Step 1b, in order to indicate to an observer which of several nodes and/or endpoints it is.\n"); - if (ShouldSkip("PICS_USER_PROMPT && I.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 2 : Step 2a: TH sends Identify command to DUT, with the IdentifyTime field set to 0x003c (60s).\n"); + if (ShouldSkip("I.S.C00.Rsp")) { NextTest(); return; } - err = TestVerifyThatTheDeviceEntersItsIdentificationStateUsingTheIdentifyTypeFromStep1bInOrderToIndicateToAnObserverWhichOfSeveralNodesAndOrEndpointsItIs_2(); + err = TestStep2aThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x003c60s_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Step 2a: TH sends Identify command to DUT, with the IdentifyTime field set to 0x003c (60s).\n"); - if (ShouldSkip("I.S.C00.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 3 : Step 2b: TH reads immediately IdentifyTime attribute from DUT\n"); + if (ShouldSkip("I.S.A0000")) { NextTest(); return; } - err = TestStep2aThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x003c60s_3(); + err = TestStep2bThReadsImmediatelyIdentifyTimeAttributeFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 2b: TH reads immediately IdentifyTime attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Wait 10000ms\n"); + err = TestWait10000ms_4(); + break; + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 2c: After 10 seconds, the TH reads IdentifyTime attribute from DUT\n"); if (ShouldSkip("I.S.A0000")) { NextTest(); return; } - err = TestStep2bThReadsImmediatelyIdentifyTimeAttributeFromDut_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Wait 10000ms\n"); - err = TestWait10000ms_5(); + err = TestStep2cAfter10SecondsTheThReadsIdentifyTimeAttributeFromDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 2c: After 10 seconds, the TH reads IdentifyTime attribute from DUT\n"); - if (ShouldSkip("I.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Before 60 seconds expire, TH sends Identify command to DUT, with the identify time field set to 0x0000 (stop identifying).\n"); + if (ShouldSkip("I.S.C00.Rsp")) { NextTest(); return; } - err = TestStep2cAfter10SecondsTheThReadsIdentifyTimeAttributeFromDut_6(); + err = TestStep4aBefore60SecondsExpireThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x0000StopIdentifying_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: Before 60 seconds expire, TH sends Identify command to DUT, with the identify time field set to 0x0000 (stop identifying).\n"); - if (ShouldSkip("I.S.C00.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4b: TH reads immediately IdentifyTime attribute from DUT\n"); + if (ShouldSkip("I.S.A0000")) { NextTest(); return; } - err = TestStep4aBefore60SecondsExpireThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x0000StopIdentifying_7(); + err = TestStep4bThReadsImmediatelyIdentifyTimeAttributeFromDut_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4b: TH reads immediately IdentifyTime attribute from DUT\n"); - if (ShouldSkip("I.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: Verify that the device enters its identification state using the IdentifyType from Step 1b, in order to indicate to an observer which of several nodes and/or endpoints it is.\n"); + if (ShouldSkip("PICS_USER_PROMPT && I.S.A0001")) { NextTest(); return; } - err = TestStep4bThReadsImmediatelyIdentifyTimeAttributeFromDut_8(); + err = TestStep6aVerifyThatTheDeviceEntersItsIdentificationStateUsingTheIdentifyTypeFromStep1bInOrderToIndicateToAnObserverWhichOfSeveralNodesAndOrEndpointsItIs_8(); break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6a: TH writes a value of 0x000f (15s) to IdentifyTime attribute of DUT\n"); @@ -57016,12 +57016,12 @@ class Test_TC_I_2_2 : public TestCommandBridge { err = TestStep6bAfter15SecondsTheThReadsIdentifyTimeAttributeFromDut_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Verify that the device enters its identification state using the IdentifyType from Step 1b, in order to indicate to an observer which of several nodes and/or endpoints it is.\n"); + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6b: Verify that the device terminates its identification state\n"); if (ShouldSkip("PICS_USER_PROMPT && I.S.A0001")) { NextTest(); return; } - err = TestVerifyThatTheDeviceEntersItsIdentificationStateUsingTheIdentifyTypeFromStep1bInOrderToIndicateToAnObserverWhichOfSeveralNodesAndOrEndpointsItIs_12(); + err = TestStep6bVerifyThatTheDeviceTerminatesItsIdentificationState_12(); break; } @@ -57128,17 +57128,7 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyThatTheDeviceEntersItsIdentificationStateUsingTheIdentifyTypeFromStep1bInOrderToIndicateToAnObserverWhichOfSeveralNodesAndOrEndpointsItIs_2() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestStep2aThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x003c60s_3() + CHIP_ERROR TestStep2aThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x003c60s_2() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57164,7 +57154,7 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep2bThReadsImmediatelyIdentifyTimeAttributeFromDut_4() + CHIP_ERROR TestStep2bThReadsImmediatelyIdentifyTimeAttributeFromDut_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57189,7 +57179,7 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait10000ms_5() + CHIP_ERROR TestWait10000ms_4() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; @@ -57197,7 +57187,7 @@ class Test_TC_I_2_2 : public TestCommandBridge { return WaitForMs("alpha", value); } - CHIP_ERROR TestStep2cAfter10SecondsTheThReadsIdentifyTimeAttributeFromDut_6() + CHIP_ERROR TestStep2cAfter10SecondsTheThReadsIdentifyTimeAttributeFromDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57222,7 +57212,7 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aBefore60SecondsExpireThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x0000StopIdentifying_7() + CHIP_ERROR TestStep4aBefore60SecondsExpireThSendsIdentifyCommandToDutWithTheIdentifyTimeFieldSetTo0x0000StopIdentifying_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57248,7 +57238,7 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsImmediatelyIdentifyTimeAttributeFromDut_8() + CHIP_ERROR TestStep4bThReadsImmediatelyIdentifyTimeAttributeFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57275,6 +57265,16 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } + CHIP_ERROR TestStep6aVerifyThatTheDeviceEntersItsIdentificationStateUsingTheIdentifyTypeFromStep1bInOrderToIndicateToAnObserverWhichOfSeveralNodesAndOrEndpointsItIs_8() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + CHIP_ERROR TestStep6aThWritesAValueOf0x000f15sToIdentifyTimeAttributeOfDut_9() { @@ -57333,7 +57333,7 @@ class Test_TC_I_2_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestVerifyThatTheDeviceEntersItsIdentificationStateUsingTheIdentifyTypeFromStep1bInOrderToIndicateToAnObserverWhichOfSeveralNodesAndOrEndpointsItIs_12() + CHIP_ERROR TestStep6bVerifyThatTheDeviceTerminatesItsIdentificationState_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -100613,20 +100613,20 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { // incorrect mTestIndex value observed when we get the response. switch (mTestIndex++) { case 0: - ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Wait for the commissioned device to be retrieved\n"); - err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0(); + ChipLogProgress(chipTool, " ***** Test Step 0 : Step 1: Commission DUT to TH (can be skipped if done in a preceding test).\n"); + err = TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0(); break; case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Step 3: Read the global attribute: ClusterRevision\n"); - err = TestStep3ReadTheGlobalAttributeClusterRevision_1(); + ChipLogProgress(chipTool, " ***** Test Step 1 : Step 3: TH reads from the DUT the ClusterRevision attribute.\n"); + err = TestStep3ThReadsFromTheDutTheClusterRevisionAttribute_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Step 2a: Read FeatureMap attribute and Check values of flags in this FeatureMap\n"); + ChipLogProgress(chipTool, " ***** Test Step 2 : Step 2a: TH reads from the DUT the FeatureMap attribute and Check values of flags in this FeatureMap\n"); if (ShouldSkip("!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04")) { NextTest(); return; } - err = TestStep2aReadFeatureMapAttributeAndCheckValuesOfFlagsInThisFeatureMap_2(); + err = TestStep2aThReadsFromTheDutTheFeatureMapAttributeAndCheckValuesOfFlagsInThisFeatureMap_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 2b: Given SWTCH.S.F00(LS) ensure featuremap has the correct bit set\n"); @@ -100669,31 +100669,31 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { err = TestStep2fGivenSwtchsf04msmEnsureFeaturemapHasTheCorrectBitSet_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: Read the global attribute: AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: TH reads from the DUT the AttributeList attribute.\n"); if (ShouldSkip("SWTCH.S.F04")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_8(); + err = TestStep4aThReadsFromTheDutTheAttributeListAttribute_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: Read the global attribute: AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: TH reads from the DUT the AttributeList attribute.\n"); if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04")) { NextTest(); return; } - err = TestStep4bReadTheGlobalAttributeAttributeList_9(); + err = TestStep4bThReadsFromTheDutTheAttributeListAttribute_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: Read the global attribute: AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: TH reads from the DUT the AttributeList attribute.\n"); if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04")) { NextTest(); return; } - err = TestStep4bReadTheGlobalAttributeAttributeList_10(); + err = TestStep4bThReadsFromTheDutTheAttributeListAttribute_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5a: Read the global attribute: EventList \n"); + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5a: TH reads from the DUT the EventList attribute.\n"); if (ShouldSkip("!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 ")) { NextTest(); return; @@ -100701,7 +100701,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { NextTest(); return; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5b: Read EventList if SWTCH.S.F00(LS)\n"); + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5b: TH reads EventList if SWTCH.S.F00(LS)\n"); if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F00")) { NextTest(); return; @@ -100709,7 +100709,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { NextTest(); return; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5c: Read EventList if SWTCH.S.F01(MS) & !SWTCH.S.F02(MSR)\n"); + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5c: TH reads EventList if SWTCH.S.F01(MS) & !SWTCH.S.F02(MSR)\n"); if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && !SWTCH.S.F02")) { NextTest(); return; @@ -100717,7 +100717,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { NextTest(); return; case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5d: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)\n"); + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5d: TH reads EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)\n"); if (ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 ")) { NextTest(); return; @@ -100725,7 +100725,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { NextTest(); return; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5e: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)\n"); + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5e: TH reads EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)\n"); if (ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && !SWTCH.S.F04 ")) { NextTest(); return; @@ -100733,7 +100733,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { NextTest(); return; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5f: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) \n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5f: TH reads EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) \n"); if (ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && SWTCH.S.F04 ")) { NextTest(); return; @@ -100741,7 +100741,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { NextTest(); return; case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 5g: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) \n"); + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 5g: TH reads EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) \n"); if (ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && SWTCH.S.F04 ")) { NextTest(); return; @@ -100749,12 +100749,12 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { NextTest(); return; case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_18(); + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6: TH reads from the DUT the AcceptedCommandList attribute.\n"); + err = TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_18(); break; case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_19(); + ChipLogProgress(chipTool, " ***** Test Step 19 : Step 7: TH reads from the DUT the GeneratedCommandList attribute.\n"); + err = TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_19(); break; } @@ -100844,7 +100844,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { chip::Optional mEndpoint; chip::Optional mTimeout; - CHIP_ERROR TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0() + CHIP_ERROR TestStep1CommissionDutToThCanBeSkippedIfDoneInAPrecedingTest_0() { chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; @@ -100852,7 +100852,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return WaitForCommissionee("alpha", value); } - CHIP_ERROR TestStep3ReadTheGlobalAttributeClusterRevision_1() + CHIP_ERROR TestStep3ThReadsFromTheDutTheClusterRevisionAttribute_1() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100861,9 +100861,9 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 3: Read the global attribute: ClusterRevision: Error: %@", err); + NSLog(@"Step 3: TH reads from the DUT the ClusterRevision attribute.: Error: %@", err); } else { - NSLog(@"Step 3: Read the global attribute: ClusterRevision: Success"); + NSLog(@"Step 3: TH reads from the DUT the ClusterRevision attribute.: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -100880,7 +100880,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep2aReadFeatureMapAttributeAndCheckValuesOfFlagsInThisFeatureMap_2() + CHIP_ERROR TestStep2aThReadsFromTheDutTheFeatureMapAttributeAndCheckValuesOfFlagsInThisFeatureMap_2() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100889,9 +100889,9 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 2a: Read FeatureMap attribute and Check values of flags in this FeatureMap: Error: %@", err); + NSLog(@"Step 2a: TH reads from the DUT the FeatureMap attribute and Check values of flags in this FeatureMap: Error: %@", err); } else { - NSLog(@"Step 2a: Read FeatureMap attribute and Check values of flags in this FeatureMap: Success"); + NSLog(@"Step 2a: TH reads from the DUT the FeatureMap attribute and Check values of flags in this FeatureMap: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -101023,7 +101023,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_8() + CHIP_ERROR TestStep4aThReadsFromTheDutTheAttributeListAttribute_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101032,9 +101032,9 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 4a: Read the global attribute: AttributeList: Error: %@", err); + NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Error: %@", err); } else { - NSLog(@"Step 4a: Read the global attribute: AttributeList: Success"); + NSLog(@"Step 4a: TH reads from the DUT the AttributeList attribute.: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -101048,7 +101048,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheGlobalAttributeAttributeList_9() + CHIP_ERROR TestStep4bThReadsFromTheDutTheAttributeListAttribute_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101057,9 +101057,9 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 4b: Read the global attribute: AttributeList: Error: %@", err); + NSLog(@"Step 4b: TH reads from the DUT the AttributeList attribute.: Error: %@", err); } else { - NSLog(@"Step 4b: Read the global attribute: AttributeList: Success"); + NSLog(@"Step 4b: TH reads from the DUT the AttributeList attribute.: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -101080,7 +101080,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheGlobalAttributeAttributeList_10() + CHIP_ERROR TestStep4bThReadsFromTheDutTheAttributeListAttribute_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101089,9 +101089,9 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 4b: Read the global attribute: AttributeList: Error: %@", err); + NSLog(@"Step 4b: TH reads from the DUT the AttributeList attribute.: Error: %@", err); } else { - NSLog(@"Step 4b: Read the global attribute: AttributeList: Success"); + NSLog(@"Step 4b: TH reads from the DUT the AttributeList attribute.: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -101111,7 +101111,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_18() + CHIP_ERROR TestStep6ThReadsFromTheDutTheAcceptedCommandListAttribute_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101120,9 +101120,9 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Error: %@", err); + NSLog(@"Step 6: TH reads from the DUT the AcceptedCommandList attribute.: Error: %@", err); } else { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList: Success"); + NSLog(@"Step 6: TH reads from the DUT the AcceptedCommandList attribute.: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -101139,7 +101139,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_19() + CHIP_ERROR TestStep7ThReadsFromTheDutTheGeneratedCommandListAttribute_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101148,9 +101148,9 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Error: %@", err); + NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute.: Error: %@", err); } else { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList: Success"); + NSLog(@"Step 7: TH reads from the DUT the GeneratedCommandList attribute.: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -182507,76 +182507,76 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { err = TestPreconditionReadTheUserBackAndVerifyItsFields_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Step 1: TH reads NumberOfWeekDay SchedulesSupportedPerUser attribute\n"); + ChipLogProgress(chipTool, " ***** Test Step 3 : Step 1: TH reads NumberOfWeekDay SchedulesSupportedPerUser attribute and saves for future use\n"); if (ShouldSkip("DRLK.S.F04 && DRLK.S.A0014")) { NextTest(); return; } - err = TestStep1ThReadsNumberOfWeekDaySchedulesSupportedPerUserAttribute_3(); + err = TestStep1ThReadsNumberOfWeekDaySchedulesSupportedPerUserAttributeAndSavesForFutureUse_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 2: TH reads NumberOfTotalUsers Supported attribute\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 2: TH reads NumberOfTotalUsers Supported attribute and saves for future use\n"); if (ShouldSkip("DRLK.S.F08 && DRLK.S.A0011")) { NextTest(); return; } - err = TestStep2ThReadsNumberOfTotalUsersSupportedAttribute_4(); + err = TestStep2ThReadsNumberOfTotalUsersSupportedAttributeAndSavesForFutureUse_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3: TH send Set Week Day Schedule Command\n"); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3: TH send Set Week Day Schedule Command to DUT with the following values : a)WeekDayIndex as 1 b)UserIndex as 1 c)DaysMaskMap as 2 d)StartHour as 15 e)StartMinute as 45 f)EndHour as 16 g)EndMinute as 55 \n"); if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0b.Rsp")) { NextTest(); return; } - err = TestStep3ThSendSetWeekDayScheduleCommand_5(); + err = TestStep3ThSendSetWeekDayScheduleCommandToDutWithTheFollowingValuesAWeekDayIndexAs1BUserIndexAs1CDaysMaskMapAs2DStartHourAs15EStartMinuteAs45FEndHourAs16GEndMinuteAs55_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: TH send Get Week Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: TH send Get Week Day Schedule Command to DUT with a)WeekDayIndex as 1 b)UserIndex as 1 \n"); if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0c.Rsp && DRLK.S.C0c.Tx")) { NextTest(); return; } - err = TestStep4ThSendGetWeekDayScheduleCommandToDut_6(); + err = TestStep4ThSendGetWeekDayScheduleCommandToDutWithAWeekDayIndexAs1BUserIndexAs1_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH send Set Week Day Schedule Command\n"); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH send Set Week Day Schedule Command to DUT with the following values : a)WeekDayIndex as 0 (invalid value) b)UserIndex as 1 c)DaysMaskMap as 7 (invalid value) d)StartHour as 15 e)StartMinute as 45 f)EndHour as 16 g)EndMinute as 55\n"); if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0b.Rsp")) { NextTest(); return; } - err = TestStep5ThSendSetWeekDayScheduleCommand_7(); + err = TestStep5ThSendSetWeekDayScheduleCommandToDutWithTheFollowingValuesAWeekDayIndexAs0InvalidValueBUserIndexAs1CDaysMaskMapAs7InvalidValueDStartHourAs15EStartMinuteAs45FEndHourAs16GEndMinuteAs55_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: TH send Get Week Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: TH send Get Week Day Schedule Command to DUT : a)WeekDayIndex as 0 b)UserIndex as 1 \n"); if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0c.Rsp && DRLK.S.C0c.Tx")) { NextTest(); return; } - err = TestStep6ThSendGetWeekDayScheduleCommandToDut_8(); + err = TestStep6ThSendGetWeekDayScheduleCommandToDutAWeekDayIndexAs0BUserIndexAs1_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: TH sends Get Week Day Schedule Command to DUT for non-existent User\n"); + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: TH sends Get Week Day Schedule Command to DUT with following values: a)WeekDayIndex as 1 (index of existing Schedule entry) b)UserIndex as 2 (index on non-existent User)\n"); if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0c.Rsp && DRLK.S.C0c.Tx")) { NextTest(); return; } - err = TestStep7ThSendsGetWeekDayScheduleCommandToDutForNonExistentUser_9(); + err = TestStep7ThSendsGetWeekDayScheduleCommandToDutWithFollowingValuesAWeekDayIndexAs1IndexOfExistingScheduleEntryBUserIndexAs2IndexOnNonExistentUser_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 8: TH sends Clear Week Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 8: TH sends Clear Week Day Schedule Command to DUT with : a)WeekDayIndex as 1 b)UserIndex as 1\n"); if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0d.Rsp")) { NextTest(); return; } - err = TestStep8ThSendsClearWeekDayScheduleCommandToDut_10(); + err = TestStep8ThSendsClearWeekDayScheduleCommandToDutWithAWeekDayIndexAs1BUserIndexAs1_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 9: TH sends Get Week Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 9: TH sends Get Week Day Schedule Command to DUT with following values: a)WeekDayIndex as 1 b)UserIndex as 1\n"); if (ShouldSkip("DRLK.S.F04 && DRLK.S.C0c.Rsp && DRLK.S.C0c.Tx")) { NextTest(); return; } - err = TestStep9ThSendsGetWeekDayScheduleCommandToDut_11(); + err = TestStep9ThSendsGetWeekDayScheduleCommandToDutWithFollowingValuesAWeekDayIndexAs1BUserIndexAs1_11(); break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : Cleanup the created user\n"); @@ -182779,7 +182779,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { } NSNumber * _Nonnull NumberOfWeekDaySchedulesSupportedPerUserValue; - CHIP_ERROR TestStep1ThReadsNumberOfWeekDaySchedulesSupportedPerUserAttribute_3() + CHIP_ERROR TestStep1ThReadsNumberOfWeekDaySchedulesSupportedPerUserAttributeAndSavesForFutureUse_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -182788,9 +182788,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster readAttributeNumberOfWeekDaySchedulesSupportedPerUserWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 1: TH reads NumberOfWeekDay SchedulesSupportedPerUser attribute: Error: %@", err); + NSLog(@"Step 1: TH reads NumberOfWeekDay SchedulesSupportedPerUser attribute and saves for future use: Error: %@", err); } else { - NSLog(@"Step 1: TH reads NumberOfWeekDay SchedulesSupportedPerUser attribute: Success"); + NSLog(@"Step 1: TH reads NumberOfWeekDay SchedulesSupportedPerUser attribute and saves for future use: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -182808,7 +182808,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { } NSNumber * _Nonnull NumberOfTotalUsersSupportedValue; - CHIP_ERROR TestStep2ThReadsNumberOfTotalUsersSupportedAttribute_4() + CHIP_ERROR TestStep2ThReadsNumberOfTotalUsersSupportedAttributeAndSavesForFutureUse_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -182817,9 +182817,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster readAttributeNumberOfTotalUsersSupportedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 2: TH reads NumberOfTotalUsers Supported attribute: Error: %@", err); + NSLog(@"Step 2: TH reads NumberOfTotalUsers Supported attribute and saves for future use: Error: %@", err); } else { - NSLog(@"Step 2: TH reads NumberOfTotalUsers Supported attribute: Success"); + NSLog(@"Step 2: TH reads NumberOfTotalUsers Supported attribute and saves for future use: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -182836,7 +182836,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3ThSendSetWeekDayScheduleCommand_5() + CHIP_ERROR TestStep3ThSendSetWeekDayScheduleCommandToDutWithTheFollowingValuesAWeekDayIndexAs1BUserIndexAs1CDaysMaskMapAs2DStartHourAs15EStartMinuteAs45FEndHourAs16GEndMinuteAs55_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -182861,9 +182861,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster setWeekDayScheduleWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 3: TH send Set Week Day Schedule Command: Error: %@", err); + NSLog(@"Step 3: TH send Set Week Day Schedule Command to DUT with the following values : a)WeekDayIndex as 1 b)UserIndex as 1 c)DaysMaskMap as 2 d)StartHour as 15 e)StartMinute as 45 f)EndHour as 16 g)EndMinute as 55 : Error: %@", err); } else { - NSLog(@"Step 3: TH send Set Week Day Schedule Command: Success"); + NSLog(@"Step 3: TH send Set Week Day Schedule Command to DUT with the following values : a)WeekDayIndex as 1 b)UserIndex as 1 c)DaysMaskMap as 2 d)StartHour as 15 e)StartMinute as 45 f)EndHour as 16 g)EndMinute as 55 : Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -182874,7 +182874,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ThSendGetWeekDayScheduleCommandToDut_6() + CHIP_ERROR TestStep4ThSendGetWeekDayScheduleCommandToDutWithAWeekDayIndexAs1BUserIndexAs1_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -182889,9 +182889,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster getWeekDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 4: TH send Get Week Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 4: TH send Get Week Day Schedule Command to DUT with a)WeekDayIndex as 1 b)UserIndex as 1 : Error: %@", err); } else { - NSLog(@"Step 4: TH send Get Week Day Schedule Command to DUT: Success"); + NSLog(@"Step 4: TH send Get Week Day Schedule Command to DUT with a)WeekDayIndex as 1 b)UserIndex as 1 : Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -182944,7 +182944,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ThSendSetWeekDayScheduleCommand_7() + CHIP_ERROR TestStep5ThSendSetWeekDayScheduleCommandToDutWithTheFollowingValuesAWeekDayIndexAs0InvalidValueBUserIndexAs1CDaysMaskMapAs7InvalidValueDStartHourAs15EStartMinuteAs45FEndHourAs16GEndMinuteAs55_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -182969,9 +182969,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster setWeekDayScheduleWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 5: TH send Set Week Day Schedule Command: Error: %@", err); + NSLog(@"Step 5: TH send Set Week Day Schedule Command to DUT with the following values : a)WeekDayIndex as 0 (invalid value) b)UserIndex as 1 c)DaysMaskMap as 7 (invalid value) d)StartHour as 15 e)StartMinute as 45 f)EndHour as 16 g)EndMinute as 55: Error: %@", err); } else { - NSLog(@"Step 5: TH send Set Week Day Schedule Command: Success"); + NSLog(@"Step 5: TH send Set Week Day Schedule Command to DUT with the following values : a)WeekDayIndex as 0 (invalid value) b)UserIndex as 1 c)DaysMaskMap as 7 (invalid value) d)StartHour as 15 e)StartMinute as 45 f)EndHour as 16 g)EndMinute as 55: Success"); } VerifyOrReturn(CheckValue("status", err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] ? err.code : EMBER_ZCL_STATUS_FAILURE) : 0, EMBER_ZCL_STATUS_INVALID_COMMAND)); @@ -182981,7 +182981,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThSendGetWeekDayScheduleCommandToDut_8() + CHIP_ERROR TestStep6ThSendGetWeekDayScheduleCommandToDutAWeekDayIndexAs0BUserIndexAs1_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -182996,9 +182996,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster getWeekDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 6: TH send Get Week Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 6: TH send Get Week Day Schedule Command to DUT : a)WeekDayIndex as 0 b)UserIndex as 1 : Error: %@", err); } else { - NSLog(@"Step 6: TH send Get Week Day Schedule Command to DUT: Success"); + NSLog(@"Step 6: TH send Get Week Day Schedule Command to DUT : a)WeekDayIndex as 0 b)UserIndex as 1 : Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -183044,7 +183044,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThSendsGetWeekDayScheduleCommandToDutForNonExistentUser_9() + CHIP_ERROR TestStep7ThSendsGetWeekDayScheduleCommandToDutWithFollowingValuesAWeekDayIndexAs1IndexOfExistingScheduleEntryBUserIndexAs2IndexOnNonExistentUser_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -183059,9 +183059,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster getWeekDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 7: TH sends Get Week Day Schedule Command to DUT for non-existent User: Error: %@", err); + NSLog(@"Step 7: TH sends Get Week Day Schedule Command to DUT with following values: a)WeekDayIndex as 1 (index of existing Schedule entry) b)UserIndex as 2 (index on non-existent User): Error: %@", err); } else { - NSLog(@"Step 7: TH sends Get Week Day Schedule Command to DUT for non-existent User: Success"); + NSLog(@"Step 7: TH sends Get Week Day Schedule Command to DUT with following values: a)WeekDayIndex as 1 (index of existing Schedule entry) b)UserIndex as 2 (index on non-existent User): Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -183107,7 +183107,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep8ThSendsClearWeekDayScheduleCommandToDut_10() + CHIP_ERROR TestStep8ThSendsClearWeekDayScheduleCommandToDutWithAWeekDayIndexAs1BUserIndexAs1_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -183122,9 +183122,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster clearWeekDayScheduleWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 8: TH sends Clear Week Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 8: TH sends Clear Week Day Schedule Command to DUT with : a)WeekDayIndex as 1 b)UserIndex as 1: Error: %@", err); } else { - NSLog(@"Step 8: TH sends Clear Week Day Schedule Command to DUT: Success"); + NSLog(@"Step 8: TH sends Clear Week Day Schedule Command to DUT with : a)WeekDayIndex as 1 b)UserIndex as 1: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -183135,7 +183135,7 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep9ThSendsGetWeekDayScheduleCommandToDut_11() + CHIP_ERROR TestStep9ThSendsGetWeekDayScheduleCommandToDutWithFollowingValuesAWeekDayIndexAs1BUserIndexAs1_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -183150,9 +183150,9 @@ class Test_TC_DRLK_2_5 : public TestCommandBridge { [cluster getWeekDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetWeekDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 9: TH sends Get Week Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 9: TH sends Get Week Day Schedule Command to DUT with following values: a)WeekDayIndex as 1 b)UserIndex as 1: Error: %@", err); } else { - NSLog(@"Step 9: TH sends Get Week Day Schedule Command to DUT: Success"); + NSLog(@"Step 9: TH sends Get Week Day Schedule Command to DUT with following values: a)WeekDayIndex as 1 b)UserIndex as 1: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -183765,112 +183765,112 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { err = TestPreconditionReadTheUserBackAndVerifyItsFields_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Step 1: TH reads NumberOfYearDay SchedulesSupportedPerUser attribute\n"); + ChipLogProgress(chipTool, " ***** Test Step 3 : Step 1: TH reads NumberOfYearDay SchedulesSupportedPerUser attribute and saves for future use\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.A0015")) { NextTest(); return; } - err = TestStep1ThReadsNumberOfYearDaySchedulesSupportedPerUserAttribute_3(); + err = TestStep1ThReadsNumberOfYearDaySchedulesSupportedPerUserAttributeAndSavesForFutureUse_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 2: TH reads NumberOfTotalUsers Supported attribute\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 2: TH reads NumberOfTotalUsers Supported attribute and saves for future use\n"); if (ShouldSkip("DRLK.S.F08 && DRLK.S.A0011")) { NextTest(); return; } - err = TestStep2ThReadsNumberOfTotalUsersSupportedAttribute_4(); + err = TestStep2ThReadsNumberOfTotalUsersSupportedAttributeAndSavesForFutureUse_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3: TH sends Set Year Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3: TH sends Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1 c)LocalStartTime as 960 Seconds d)LocalEndTime as 1980 Seconds\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.C0e.Rsp")) { NextTest(); return; } - err = TestStep3ThSendsSetYearDayScheduleCommandToDut_5(); + err = TestStep3ThSendsSetYearDayScheduleCommandToDutWithTheFollowingValuesAYearDayIndexAs1BUserIndexAs1CLocalStartTimeAs960SecondsDLocalEndTimeAs1980Seconds_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a & 4b: TH sends Get Year Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a & 4b: TH sends Get Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx")) { NextTest(); return; } - err = TestStep4a4bThSendsGetYearDayScheduleCommandToDut_6(); + err = TestStep4a4bThSendsGetYearDayScheduleCommandToDutWithTheFollowingValuesAYearDayIndexAs1BUserIndexAs1_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH send Set Year Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH send Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 0(Invalid value) b)UserIndex as 15(Invalid value) c)LocalStartTime as 1020 d)LocalEndTime as 2040\n"); if (ShouldSkip("DRLK.S.C0e.Rsp")) { NextTest(); return; } - err = TestStep5ThSendSetYearDayScheduleCommandToDut_7(); + err = TestStep5ThSendSetYearDayScheduleCommandToDutWithTheFollowingValuesAYearDayIndexAs0InvalidValueBUserIndexAs15InvalidValueCLocalStartTimeAs1020DLocalEndTimeAs2040_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: TH sends Get Year Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: TH sends Get Year Day Schedule Command to DUT with : a)YearDayIndex as 0 b)UserIndex as 15\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx")) { NextTest(); return; } - err = TestStep6ThSendsGetYearDayScheduleCommandToDut_8(); + err = TestStep6ThSendsGetYearDayScheduleCommandToDutWithAYearDayIndexAs0BUserIndexAs15_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7a: Create a user with userIndex as 5\n"); - err = TestStep7aCreateAUserWithUserIndexAs5_9(); + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7a: Create a new user with UserIndex as 5 then TH sends Get Year Day Schedule Command to DUT with\n"); + err = TestStep7aCreateANewUserWithUserIndexAs5ThenThSendsGetYearDayScheduleCommandToDutWith_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 7b: TH sends Get Year Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 7b: YearDayIndex as 10 (value is in the the range of step 1 but YearDay Schedule entry not available) : UserIndex as 5\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx")) { NextTest(); return; } - err = TestStep7bThSendsGetYearDayScheduleCommandToDut_10(); + err = TestStep7bYearDayIndexAs10ValueIsInTheTheRangeOfStep1ButYearDayScheduleEntryNotAvailableUserIndexAs5_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 8: TH sends Clear Year Day Schedule to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 8: TH sends Clear Year Day Schedule to DUT with a)YearDayIndex as 1 b)UserIndex as 1\n"); if (ShouldSkip("DRLK.S.C10.Rsp")) { NextTest(); return; } - err = TestStep8ThSendsClearYearDayScheduleToDut_11(); + err = TestStep8ThSendsClearYearDayScheduleToDutWithAYearDayIndexAs1BUserIndexAs1_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 9: TH sends Get Year Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 9: TH sends Get Year Day Schedule Command to DUT with a)YearDayIndex as 1 (value is in the the range of step 1 but YearDay Schedule entry not available) b)UserDayIndex as 1\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx && DRLK.S.C10.Rsp")) { NextTest(); return; } - err = TestStep9ThSendsGetYearDayScheduleCommandToDut_12(); + err = TestStep9ThSendsGetYearDayScheduleCommandToDutWithAYearDayIndexAs1ValueIsInTheTheRangeOfStep1ButYearDayScheduleEntryNotAvailableBUserDayIndexAs1_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 10: TH sends Set Year Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 10: TH sends Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1 c)LocalStartTime as 1080 Seconds d)LocalEndTime as 2100 Seconds\n"); if (ShouldSkip("DRLK.S.C0e.Rsp")) { NextTest(); return; } - err = TestStep10ThSendsSetYearDayScheduleCommandToDut_13(); + err = TestStep10ThSendsSetYearDayScheduleCommandToDutWithTheFollowingValuesAYearDayIndexAs1BUserIndexAs1CLocalStartTimeAs1080SecondsDLocalEndTimeAs2100Seconds_13(); break; case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 11: TH sends Get Year Day Schedule Command to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 11: TH sends Get Year Day Schedule Command to DUT with : a)YearDayIndex as 1 b)UserDayIndex as 1\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx")) { NextTest(); return; } - err = TestStep11ThSendsGetYearDayScheduleCommandToDut_14(); + err = TestStep11ThSendsGetYearDayScheduleCommandToDutWithAYearDayIndexAs1BUserDayIndexAs1_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 12: TH sends Get Year Day Schedule Command to DUT for non-existent User\n"); + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 12: TH sends Get Year Day Schedule Command to DUT with a)YearDayIndex as 1 (index of existing Schedule entry) b)UserIndex as 2 (index on non-existent User)\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.C0f.Rsp && DRLK.S.C0f.Tx")) { NextTest(); return; } - err = TestStep12ThSendsGetYearDayScheduleCommandToDutForNonExistentUser_15(); + err = TestStep12ThSendsGetYearDayScheduleCommandToDutWithAYearDayIndexAs1IndexOfExistingScheduleEntryBUserIndexAs2IndexOnNonExistentUser_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 13: TH sends Clear Year Day Schedule to DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 13: TH sends Clear Year Day Schedule to DUT with a)YearDayIndex as 0(Invalid value) b)UserIndex as 0 (Invalid value)\n"); if (ShouldSkip("DRLK.S.F0a && DRLK.S.C10.Rsp")) { NextTest(); return; } - err = TestStep13ThSendsClearYearDayScheduleToDut_16(); + err = TestStep13ThSendsClearYearDayScheduleToDutWithAYearDayIndexAs0InvalidValueBUserIndexAs0InvalidValue_16(); break; case 17: ChipLogProgress(chipTool, " ***** Test Step 17 : Clear a year day schedule for the first user\n"); @@ -184106,7 +184106,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { } NSNumber * _Nonnull NumberOfYearDaySchedulesSupportedPerUserValue; - CHIP_ERROR TestStep1ThReadsNumberOfYearDaySchedulesSupportedPerUserAttribute_3() + CHIP_ERROR TestStep1ThReadsNumberOfYearDaySchedulesSupportedPerUserAttributeAndSavesForFutureUse_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184115,9 +184115,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster readAttributeNumberOfYearDaySchedulesSupportedPerUserWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 1: TH reads NumberOfYearDay SchedulesSupportedPerUser attribute: Error: %@", err); + NSLog(@"Step 1: TH reads NumberOfYearDay SchedulesSupportedPerUser attribute and saves for future use: Error: %@", err); } else { - NSLog(@"Step 1: TH reads NumberOfYearDay SchedulesSupportedPerUser attribute: Success"); + NSLog(@"Step 1: TH reads NumberOfYearDay SchedulesSupportedPerUser attribute and saves for future use: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184135,7 +184135,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { } NSNumber * _Nonnull NumberOfTotalUsersSupportedValue; - CHIP_ERROR TestStep2ThReadsNumberOfTotalUsersSupportedAttribute_4() + CHIP_ERROR TestStep2ThReadsNumberOfTotalUsersSupportedAttributeAndSavesForFutureUse_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184144,9 +184144,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster readAttributeNumberOfTotalUsersSupportedWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 2: TH reads NumberOfTotalUsers Supported attribute: Error: %@", err); + NSLog(@"Step 2: TH reads NumberOfTotalUsers Supported attribute and saves for future use: Error: %@", err); } else { - NSLog(@"Step 2: TH reads NumberOfTotalUsers Supported attribute: Success"); + NSLog(@"Step 2: TH reads NumberOfTotalUsers Supported attribute and saves for future use: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184163,7 +184163,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3ThSendsSetYearDayScheduleCommandToDut_5() + CHIP_ERROR TestStep3ThSendsSetYearDayScheduleCommandToDutWithTheFollowingValuesAYearDayIndexAs1BUserIndexAs1CLocalStartTimeAs960SecondsDLocalEndTimeAs1980Seconds_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184182,9 +184182,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster setYearDayScheduleWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 3: TH sends Set Year Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 3: TH sends Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1 c)LocalStartTime as 960 Seconds d)LocalEndTime as 1980 Seconds: Error: %@", err); } else { - NSLog(@"Step 3: TH sends Set Year Day Schedule Command to DUT: Success"); + NSLog(@"Step 3: TH sends Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1 c)LocalStartTime as 960 Seconds d)LocalEndTime as 1980 Seconds: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184195,7 +184195,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a4bThSendsGetYearDayScheduleCommandToDut_6() + CHIP_ERROR TestStep4a4bThSendsGetYearDayScheduleCommandToDutWithTheFollowingValuesAYearDayIndexAs1BUserIndexAs1_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184210,9 +184210,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster getYearDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 4a & 4b: TH sends Get Year Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 4a & 4b: TH sends Get Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1: Error: %@", err); } else { - NSLog(@"Step 4a & 4b: TH sends Get Year Day Schedule Command to DUT: Success"); + NSLog(@"Step 4a & 4b: TH sends Get Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184253,7 +184253,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ThSendSetYearDayScheduleCommandToDut_7() + CHIP_ERROR TestStep5ThSendSetYearDayScheduleCommandToDutWithTheFollowingValuesAYearDayIndexAs0InvalidValueBUserIndexAs15InvalidValueCLocalStartTimeAs1020DLocalEndTimeAs2040_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184272,9 +184272,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster setYearDayScheduleWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 5: TH send Set Year Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 5: TH send Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 0(Invalid value) b)UserIndex as 15(Invalid value) c)LocalStartTime as 1020 d)LocalEndTime as 2040: Error: %@", err); } else { - NSLog(@"Step 5: TH send Set Year Day Schedule Command to DUT: Success"); + NSLog(@"Step 5: TH send Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 0(Invalid value) b)UserIndex as 15(Invalid value) c)LocalStartTime as 1020 d)LocalEndTime as 2040: Success"); } VerifyOrReturn(CheckValue("status", err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] ? err.code : EMBER_ZCL_STATUS_FAILURE) : 0, EMBER_ZCL_STATUS_INVALID_COMMAND)); @@ -184284,7 +184284,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThSendsGetYearDayScheduleCommandToDut_8() + CHIP_ERROR TestStep6ThSendsGetYearDayScheduleCommandToDutWithAYearDayIndexAs0BUserIndexAs15_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184299,9 +184299,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster getYearDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 6: TH sends Get Year Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 6: TH sends Get Year Day Schedule Command to DUT with : a)YearDayIndex as 0 b)UserIndex as 15: Error: %@", err); } else { - NSLog(@"Step 6: TH sends Get Year Day Schedule Command to DUT: Success"); + NSLog(@"Step 6: TH sends Get Year Day Schedule Command to DUT with : a)YearDayIndex as 0 b)UserIndex as 15: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184335,7 +184335,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7aCreateAUserWithUserIndexAs5_9() + CHIP_ERROR TestStep7aCreateANewUserWithUserIndexAs5ThenThSendsGetYearDayScheduleCommandToDutWith_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184359,9 +184359,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster setUserWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 7a: Create a user with userIndex as 5: Error: %@", err); + NSLog(@"Step 7a: Create a new user with UserIndex as 5 then TH sends Get Year Day Schedule Command to DUT with: Error: %@", err); } else { - NSLog(@"Step 7a: Create a user with userIndex as 5: Success"); + NSLog(@"Step 7a: Create a new user with UserIndex as 5 then TH sends Get Year Day Schedule Command to DUT with: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184372,7 +184372,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7bThSendsGetYearDayScheduleCommandToDut_10() + CHIP_ERROR TestStep7bYearDayIndexAs10ValueIsInTheTheRangeOfStep1ButYearDayScheduleEntryNotAvailableUserIndexAs5_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184387,9 +184387,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster getYearDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 7b: TH sends Get Year Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 7b: YearDayIndex as 10 (value is in the the range of step 1 but YearDay Schedule entry not available) : UserIndex as 5: Error: %@", err); } else { - NSLog(@"Step 7b: TH sends Get Year Day Schedule Command to DUT: Success"); + NSLog(@"Step 7b: YearDayIndex as 10 (value is in the the range of step 1 but YearDay Schedule entry not available) : UserIndex as 5: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184423,7 +184423,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep8ThSendsClearYearDayScheduleToDut_11() + CHIP_ERROR TestStep8ThSendsClearYearDayScheduleToDutWithAYearDayIndexAs1BUserIndexAs1_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184438,9 +184438,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster clearYearDayScheduleWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 8: TH sends Clear Year Day Schedule to DUT: Error: %@", err); + NSLog(@"Step 8: TH sends Clear Year Day Schedule to DUT with a)YearDayIndex as 1 b)UserIndex as 1: Error: %@", err); } else { - NSLog(@"Step 8: TH sends Clear Year Day Schedule to DUT: Success"); + NSLog(@"Step 8: TH sends Clear Year Day Schedule to DUT with a)YearDayIndex as 1 b)UserIndex as 1: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184451,7 +184451,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep9ThSendsGetYearDayScheduleCommandToDut_12() + CHIP_ERROR TestStep9ThSendsGetYearDayScheduleCommandToDutWithAYearDayIndexAs1ValueIsInTheTheRangeOfStep1ButYearDayScheduleEntryNotAvailableBUserDayIndexAs1_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184466,9 +184466,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster getYearDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 9: TH sends Get Year Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 9: TH sends Get Year Day Schedule Command to DUT with a)YearDayIndex as 1 (value is in the the range of step 1 but YearDay Schedule entry not available) b)UserDayIndex as 1: Error: %@", err); } else { - NSLog(@"Step 9: TH sends Get Year Day Schedule Command to DUT: Success"); + NSLog(@"Step 9: TH sends Get Year Day Schedule Command to DUT with a)YearDayIndex as 1 (value is in the the range of step 1 but YearDay Schedule entry not available) b)UserDayIndex as 1: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184502,7 +184502,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep10ThSendsSetYearDayScheduleCommandToDut_13() + CHIP_ERROR TestStep10ThSendsSetYearDayScheduleCommandToDutWithTheFollowingValuesAYearDayIndexAs1BUserIndexAs1CLocalStartTimeAs1080SecondsDLocalEndTimeAs2100Seconds_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184521,9 +184521,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster setYearDayScheduleWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 10: TH sends Set Year Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 10: TH sends Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1 c)LocalStartTime as 1080 Seconds d)LocalEndTime as 2100 Seconds: Error: %@", err); } else { - NSLog(@"Step 10: TH sends Set Year Day Schedule Command to DUT: Success"); + NSLog(@"Step 10: TH sends Set Year Day Schedule Command to DUT with the following values: a)YearDayIndex as 1 b)UserIndex as 1 c)LocalStartTime as 1080 Seconds d)LocalEndTime as 2100 Seconds: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184534,7 +184534,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep11ThSendsGetYearDayScheduleCommandToDut_14() + CHIP_ERROR TestStep11ThSendsGetYearDayScheduleCommandToDutWithAYearDayIndexAs1BUserDayIndexAs1_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184549,9 +184549,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster getYearDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 11: TH sends Get Year Day Schedule Command to DUT: Error: %@", err); + NSLog(@"Step 11: TH sends Get Year Day Schedule Command to DUT with : a)YearDayIndex as 1 b)UserDayIndex as 1: Error: %@", err); } else { - NSLog(@"Step 11: TH sends Get Year Day Schedule Command to DUT: Success"); + NSLog(@"Step 11: TH sends Get Year Day Schedule Command to DUT with : a)YearDayIndex as 1 b)UserDayIndex as 1: Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184592,7 +184592,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep12ThSendsGetYearDayScheduleCommandToDutForNonExistentUser_15() + CHIP_ERROR TestStep12ThSendsGetYearDayScheduleCommandToDutWithAYearDayIndexAs1IndexOfExistingScheduleEntryBUserIndexAs2IndexOnNonExistentUser_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184607,9 +184607,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster getYearDayScheduleWithParams:params completion: ^(MTRDoorLockClusterGetYearDayScheduleResponseParams * _Nullable values, NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 12: TH sends Get Year Day Schedule Command to DUT for non-existent User: Error: %@", err); + NSLog(@"Step 12: TH sends Get Year Day Schedule Command to DUT with a)YearDayIndex as 1 (index of existing Schedule entry) b)UserIndex as 2 (index on non-existent User): Error: %@", err); } else { - NSLog(@"Step 12: TH sends Get Year Day Schedule Command to DUT for non-existent User: Success"); + NSLog(@"Step 12: TH sends Get Year Day Schedule Command to DUT with a)YearDayIndex as 1 (index of existing Schedule entry) b)UserIndex as 2 (index on non-existent User): Success"); } VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -184643,7 +184643,7 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep13ThSendsClearYearDayScheduleToDut_16() + CHIP_ERROR TestStep13ThSendsClearYearDayScheduleToDutWithAYearDayIndexAs0InvalidValueBUserIndexAs0InvalidValue_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -184658,9 +184658,9 @@ class Test_TC_DRLK_2_7 : public TestCommandBridge { [cluster clearYearDayScheduleWithParams:params completion: ^(NSError * _Nullable err) { if (err != nil) { - NSLog(@"Step 13: TH sends Clear Year Day Schedule to DUT: Error: %@", err); + NSLog(@"Step 13: TH sends Clear Year Day Schedule to DUT with a)YearDayIndex as 0(Invalid value) b)UserIndex as 0 (Invalid value): Error: %@", err); } else { - NSLog(@"Step 13: TH sends Clear Year Day Schedule to DUT: Success"); + NSLog(@"Step 13: TH sends Clear Year Day Schedule to DUT with a)YearDayIndex as 0(Invalid value) b)UserIndex as 0 (Invalid value): Success"); } VerifyOrReturn(CheckValue("status", err ? ([err.domain isEqualToString:MTRInteractionErrorDomain] ? err.code : EMBER_ZCL_STATUS_FAILURE) : 0, EMBER_ZCL_STATUS_INVALID_COMMAND));