From 9ef90c180980d1e448e8a960059c5d1f312c05ec Mon Sep 17 00:00:00 2001 From: manjunath-grl Date: Fri, 11 Aug 2023 18:08:33 +0530 Subject: [PATCH 1/8] Modified tests: TC_ACFREMON_1_1 TC_ACL_1_1 TC_ACT_1_1 TC_AIRQUAL_1_1 TC_ALOGIN_1_12 TC_APBSC_1_10 TC_APPLAUNCHER_1_3 TC_AUDIOOUTPUT_1_8 TC_BIND_1_1 TC_BINFO_1_1 TC_BOOL_1_1 TC_BRBINFO_1_1 TC_CC_1_1 TC_CC_6_5 TC_CDOCONC_1_1 TC_CGEN_1_1 TC_CHANNEL_1_6 TC_CMOCONC_1_1 TC_CNET_1_3 TC_CONTENTLAUNCHER_1_11 TC_DA_1_8 TC_DESC_1_1 TC_DGETH_1_1 TC_DGGEN_1_1 TC_DGSW_1_1 TC_DGTHREAD_1_1 TC_DGTHREAD_2_1 TC_DGWIFI_1_1 TC_DLOG_1_1 TC_DRLK_1_1 TC_DRLK_2_1 TC_FAN_1_1 TC_FLABEL_1_1 TC_FLDCONC_1_1 TC_FLW_1_1 TC_GRPKEY_1_1 TC_G_1_1 TC_G_2_3 TC_HEPAFREMON_1_1 TC_ICDM_1_1 TC_ILL_1_1 TC_I_1_1 TC_KEYPADINPUT_1_2 TC_LCFG_1_1 TC_LOWPOWER_1_1 TC_LTIME_1_2 TC_LUNIT_1_2 TC_LVL_1_1 TC_LWM_1_1 TC_MEDIAINPUT_1_4 TC_MEDIAPLAYBACK_1_7 TC_MOD_1_1 TC_NDOCONC_1_1 TC_OCC_1_1 TC_OO_1_1 TC_OPCREDS_1_2 TC_OPSTATE_1_1 TC_OPSTATE_2_1 TC_OZCONC_1_1 TC_PCC_1_1 TC_PMHCONC_1_1 TC_PMICONC_1_1 TC_PMKCONC_1_1 TC_PRS_1_1 TC_PSCFG_1_1 TC_PS_1_1 TC_PS_2_1 TC_REFALM_1_1 TC_REFALM_2_2 TC_RH_1_1 TC_RNCONC_1_1 TC_RVCCLEANM_1_1 TC_RVCOPSTATE_1_1 TC_RVCOPSTATE_2_1 TC_RVCRUNM_1_1 TC_SMOKECO_1_1 TC_SWTCH_1_1 TC_S_1_1 TC_TCCM_1_1 TC_TCTL_1_1 TC_TGTNAV_1_9 TC_TIMESYNC_1_1 TC_TMP_1_1 TC_TSTAT_1_1 TC_TSUIC_1_1 TC_TVOCCONC_1_1 TC_ULABEL_1_1 TC_WAKEONLAN_1_5 TC_WNCV_1_1 --- src/app/tests/suites/certification/PICS.yaml | 474 ++----- .../certification/Test_TC_ACFREMON_1_1.yaml | 133 +- .../suites/certification/Test_TC_ACL_1_1.yaml | 71 +- .../suites/certification/Test_TC_ACT_1_1.yaml | 30 - .../certification/Test_TC_AIRQUAL_1_1.yaml | 132 +- .../certification/Test_TC_ALOGIN_1_12.yaml | 26 +- .../certification/Test_TC_APBSC_1_10.yaml | 27 +- .../Test_TC_APPLAUNCHER_1_3.yaml | 26 +- .../Test_TC_AUDIOOUTPUT_1_8.yaml | 25 +- .../certification/Test_TC_BIND_1_1.yaml | 48 +- .../certification/Test_TC_BINFO_1_1.yaml | 117 +- .../certification/Test_TC_BOOL_1_1.yaml | 43 +- .../certification/Test_TC_BRBINFO_1_1.yaml | 149 ++- .../suites/certification/Test_TC_CC_1_1.yaml | 38 +- .../suites/certification/Test_TC_CC_6_5.yaml | 6 +- .../certification/Test_TC_CDOCONC_1_1.yaml | 135 +- .../certification/Test_TC_CGEN_1_1.yaml | 27 +- .../certification/Test_TC_CHANNEL_1_6.yaml | 26 +- .../certification/Test_TC_CMOCONC_1_1.yaml | 133 +- .../certification/Test_TC_CNET_1_3.yaml | 74 +- .../Test_TC_CONTENTLAUNCHER_1_11.yaml | 26 +- .../suites/certification/Test_TC_DA_1_8.yaml | 375 ++++++ .../certification/Test_TC_DESC_1_1.yaml | 61 +- .../certification/Test_TC_DGETH_1_1.yaml | 75 +- .../certification/Test_TC_DGGEN_1_1.yaml | 128 +- .../certification/Test_TC_DGSW_1_1.yaml | 98 +- .../certification/Test_TC_DGTHREAD_1_1.yaml | 154 ++- .../certification/Test_TC_DGTHREAD_2_1.yaml | 2 +- .../certification/Test_TC_DGWIFI_1_1.yaml | 96 +- .../certification/Test_TC_DLOG_1_1.yaml | 50 +- .../certification/Test_TC_DRLK_1_1.yaml | 69 +- .../certification/Test_TC_DRLK_2_1.yaml | 402 ++---- .../suites/certification/Test_TC_FAN_1_1.yaml | 122 +- .../certification/Test_TC_FLABEL_1_1.yaml | 47 +- .../certification/Test_TC_FLDCONC_1_1.yaml | 133 +- .../suites/certification/Test_TC_FLW_1_1.yaml | 48 +- .../certification/Test_TC_GRPKEY_1_1.yaml | 25 +- .../suites/certification/Test_TC_G_1_1.yaml | 26 +- .../suites/certification/Test_TC_G_2_3.yaml | 1115 ++++++++++------- .../certification/Test_TC_HEPAFREMON_1_1.yaml | 128 +- .../certification/Test_TC_ICDM_1_1.yaml | 154 ++- .../suites/certification/Test_TC_ILL_1_1.yaml | 35 - .../suites/certification/Test_TC_I_1_1.yaml | 33 - .../Test_TC_KEYPADINPUT_1_2.yaml | 26 +- .../certification/Test_TC_LCFG_1_1.yaml | 26 +- .../certification/Test_TC_LOWPOWER_1_1.yaml | 26 +- .../certification/Test_TC_LTIME_1_2.yaml | 34 +- .../certification/Test_TC_LUNIT_1_2.yaml | 36 +- .../suites/certification/Test_TC_LVL_1_1.yaml | 29 +- .../suites/certification/Test_TC_LWM_1_1.yaml | 10 - .../certification/Test_TC_MEDIAINPUT_1_4.yaml | 27 +- .../Test_TC_MEDIAPLAYBACK_1_7.yaml | 27 +- .../suites/certification/Test_TC_MOD_1_1.yaml | 132 +- .../certification/Test_TC_NDOCONC_1_1.yaml | 140 ++- .../suites/certification/Test_TC_OCC_1_1.yaml | 27 +- .../suites/certification/Test_TC_OO_1_1.yaml | 117 +- .../certification/Test_TC_OPCREDS_1_2.yaml | 65 +- .../certification/Test_TC_OPSTATE_1_1.yaml | 172 ++- .../certification/Test_TC_OPSTATE_2_1.yaml | 256 +++- .../certification/Test_TC_OZCONC_1_1.yaml | 131 +- .../suites/certification/Test_TC_PCC_1_1.yaml | 542 ++++---- .../certification/Test_TC_PMHCONC_1_1.yaml | 133 +- .../certification/Test_TC_PMICONC_1_1.yaml | 134 +- .../certification/Test_TC_PMKCONC_1_1.yaml | 133 +- .../suites/certification/Test_TC_PRS_1_1.yaml | 66 +- .../certification/Test_TC_PSCFG_1_1.yaml | 54 +- .../Test_TC_PSCFG_3_1_Simulated.yaml | 159 --- .../suites/certification/Test_TC_PS_1_1.yaml | 144 +-- .../suites/certification/Test_TC_PS_2_1.yaml | 4 +- .../certification/Test_TC_REFALM_1_1.yaml | 14 - .../certification/Test_TC_REFALM_2_2.yaml | 55 +- .../suites/certification/Test_TC_RH_1_1.yaml | 53 +- .../certification/Test_TC_RNCONC_1_1.yaml | 135 +- .../certification/Test_TC_RVCCLEANM_1_1.yaml | 151 ++- .../certification/Test_TC_RVCOPSTATE_1_1.yaml | 61 +- .../certification/Test_TC_RVCRUNM_1_1.yaml | 157 ++- .../certification/Test_TC_SMOKECO_1_1.yaml | 117 +- .../certification/Test_TC_SWTCH_1_1.yaml | 174 ++- .../suites/certification/Test_TC_S_1_1.yaml | 79 +- .../certification/Test_TC_TCCM_1_1.yaml | 10 - .../certification/Test_TC_TCTL_1_1.yaml | 16 - .../certification/Test_TC_TGTNAV_1_9.yaml | 26 +- .../certification/Test_TC_TIMESYNC_1_1.yaml | 225 +++- .../suites/certification/Test_TC_TMP_1_1.yaml | 55 +- .../certification/Test_TC_TSTAT_1_1.yaml | 55 +- .../certification/Test_TC_TSUIC_1_1.yaml | 142 ++- .../certification/Test_TC_TVOCCONC_1_1.yaml | 135 +- .../certification/Test_TC_ULABEL_1_1.yaml | 45 +- .../certification/Test_TC_WAKEONLAN_1_5.yaml | 27 +- .../certification/Test_TC_WNCV_1_1.yaml | 51 +- .../tests/suites/certification/ci-pics-values | 150 +-- src/app/tests/suites/manualTests.json | 3 +- 92 files changed, 5424 insertions(+), 4304 deletions(-) mode change 100644 => 100755 src/app/tests/suites/certification/Test_TC_CC_6_5.yaml create mode 100644 src/app/tests/suites/certification/Test_TC_DA_1_8.yaml mode change 100644 => 100755 src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml mode change 100644 => 100755 src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml delete mode 100644 src/app/tests/suites/certification/Test_TC_PSCFG_3_1_Simulated.yaml diff --git a/src/app/tests/suites/certification/PICS.yaml b/src/app/tests/suites/certification/PICS.yaml index 6afdb3f929d185..2785ad6e7f8bc5 100644 --- a/src/app/tests/suites/certification/PICS.yaml +++ b/src/app/tests/suites/certification/PICS.yaml @@ -710,26 +710,6 @@ PICS: - label: "Does the device implement the Access Control Cluster as a client?" id: ACL.C - #ACL -- Global Attributes - - label: "Does the device implement the ClusterRevision(ACL) attribute?" - id: ACL.S.Afffd - - - label: "Does the device implement the FeatureMap(ACL) attribute?" - id: ACL.S.Afffc - - - label: "Does the device implement the AttributeList(ACL) attribute?" - id: ACL.S.Afffb - - - label: "Does the device implement the EventList(ACL) attribute?" - id: ACL.S.Afffa - - - label: "Does the device implement the AcceptedCommandList(ACL) attribute?" - id: ACL.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(ACL) attribute?" - id: ACL.S.Afff8 - # # server / attributes # @@ -880,27 +860,6 @@ PICS: - label: "Does the device implement the Binding Cluster as a client?" id: BIND.C - #BIND -- Global Attributes - - label: "Does the device implement the ClusterRevision(BIND) attribute?" - id: BIND.S.Afffd - - - label: "Does the device implement the FeatureMap(BIND) attribute?" - id: BIND.S.Afffc - - - label: "Does the device implement the AttributeList(BIND) attribute?" - id: BIND.S.Afffb - - - label: "Does the device implement the EventList(BIND) attribute?" - id: BIND.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(BIND) attribute?" - id: BIND.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(BIND) attribute?" - id: BIND.S.Afff8 - # # server / attributes # @@ -960,27 +919,6 @@ PICS: Cluster as a client?" id: BRBINFO.C - #BINFO -- Global Attributes - - label: "Does the device implement the ClusterRevision(BINFO) attribute?" - id: BINFO.S.Afffd - - - label: "Does the device implement the FeatureMap(BINFO) attribute?" - id: BINFO.S.Afffc - - - label: "Does the device implement the AttributeList(BINFO) attribute?" - id: BINFO.S.Afffb - - - label: "Does the device implement the EventList(BINFO) attribute?" - id: BINFO.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(BINFO) attribute?" - id: BINFO.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(BINFO) attribute?" - id: BINFO.S.Afff8 - # # server / attributes # @@ -1970,27 +1908,6 @@ PICS: a client?" id: CNET.C - #CNET -- Global Attributes - - label: "Does the device implement the ClusterRevision(CNET) attribute?" - id: CNET.S.Afffd - - - label: "Does the device implement the FeatureMap(CNET) attribute?" - id: CNET.S.Afffc - - - label: "Does the device implement the AttributeList(CNET) attribute?" - id: CNET.S.Afffb - - - label: "Does the device implement the EventList(CNET) attribute?" - id: CNET.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(CNET) attribute?" - id: CNET.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(CNET) attribute?" - id: CNET.S.Afff8 - # # server / attributes # @@ -2102,28 +2019,6 @@ PICS: - label: "Does the DUT(Server) support LastConnectErrorValue attribute?" id: CNET.S.A0007 - #OPCREDS -- Global Attributes - - label: "Does the device implement the ClusterRevision(OPCREDS) attribute?" - id: OPCREDS.S.Afffd - - - label: "Does the device implement the FeatureMap(OPCREDS) attribute?" - id: OPCREDS.S.Afffc - - - label: "Does the device implement the AttributeList(OPCREDS) attribute?" - id: OPCREDS.S.Afffb - - - label: "Does the device implement the EventList(OPCREDS) attribute?" - id: OPCREDS.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(OPCREDS) attribute?" - id: OPCREDS.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(OPCREDS) - attribute?" - id: OPCREDS.S.Afff8 - # # server / commandsReceived # @@ -2547,27 +2442,6 @@ PICS: "Does the device implement the Diagnostic Logs cluster as a client?" id: DLOG.C - #DLOG -- Global Attributes - - label: "Does the device implement the ClusterRevision(DLOG) attribute?" - id: DLOG.S.Afffd - - - label: "Does the device implement the FeatureMap(DLOG) attribute?" - id: DLOG.S.Afffc - - - label: "Does the device implement the AttributeList(DLOG) attribute?" - id: DLOG.S.Afffb - - - label: "Does the device implement the EventList(DLOG) attribute?" - id: DLOG.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(DLOG) attribute?" - id: DLOG.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(DLOG) attribute?" - id: DLOG.S.Afff8 - # # server / commandsReceived # @@ -3345,27 +3219,6 @@ PICS: a client?" id: DGETH.C - #DGETH -- Global Attributes - - label: "Does the device implement the ClusterRevision(DGETH) attribute?" - id: DGETH.S.Afffd - - - label: "Does the device implement the FeatureMap(DGETH) attribute?" - id: DGETH.S.Afffc - - - label: "Does the device implement the AttributeList(DGETH) attribute?" - id: DGETH.S.Afffb - - - label: "Does the device implement the EventList(DGETH) attribute?" - id: DGETH.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(DGETH) attribute?" - id: DGETH.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(DGETH) attribute?" - id: DGETH.S.Afff8 - # # server / attributes # @@ -3476,27 +3329,6 @@ PICS: - label: "Does the device implement the Fixed Label cluster as a client?" id: FLABEL.C - #FLABEL -- Global Attributes - - label: "Does the device implement the ClusterRevision(FLABEL) attribute?" - id: FLABEL.S.Afffd - - - label: "Does the device implement the FeatureMap(FLABEL) attribute?" - id: FLABEL.S.Afffc - - - label: "Does the device implement the AttributeList(FLABEL) attribute?" - id: FLABEL.S.Afffb - - - label: "Does the device implement the EventList(FLABEL) attribute?" - id: FLABEL.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(FLABEL) attribute?" - id: FLABEL.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(FLABEL) attribute?" - id: FLABEL.S.Afff8 - # # server / attributes # @@ -3520,26 +3352,6 @@ PICS: "Does the device implement the Flow Measurement cluster as a client?" id: FLW.C - #FLW -- Global Attributes - - label: "Does the device implement the ClusterRevision(FLW) attribute?" - id: FLW.S.Afffd - - - label: "Does the device implement the FeatureMap(FLW) attribute?" - id: FLW.S.Afffc - - - label: "Does the device implement the AttributeList(FLW) attribute?" - id: FLW.S.Afffb - - - label: "Does the device implement the EventList(FLW) attribute?" - id: FLW.S.Afffa - - - label: "Does the device implement the AcceptedCommandList(FLW) attribute?" - id: FLW.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(FLW) attribute?" - id: FLW.S.Afff8 - # # server / attributes # @@ -3655,27 +3467,6 @@ PICS: client?" id: DGGEN.C - #DGGEN -- Global Attributes - - label: "Does the device implement the ClusterRevision(DGGEN) attribute?" - id: DGGEN.S.Afffd - - - label: "Does the device implement the FeatureMap(DGGEN) attribute?" - id: DGGEN.S.Afffc - - - label: "Does the device implement the AttributeList(DGGEN) attribute?" - id: DGGEN.S.Afffb - - - label: "Does the device implement the EventList(DGGEN) attribute?" - id: DGGEN.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(DGGEN) attribute?" - id: DGGEN.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(DGGEN) attribute?" - id: DGGEN.S.Afff8 - # # server / attributes # @@ -5539,26 +5330,6 @@ PICS: client?" id: PRS.C - #PRS -- Global Attributes - - label: "Does the device implement the ClusterRevision(PRS) attribute?" - id: PRS.S.Afffd - - - label: "Does the device implement the FeatureMap(PRS) attribute?" - id: PRS.S.Afffc - - - label: "Does the device implement the AttributeList(PRS) attribute?" - id: PRS.S.Afffb - - - label: "Does the device implement the EventList(PRS) attribute?" - id: PRS.S.Afffa - - - label: "Does the device implement the AcceptedCommandList(PRS) attribute?" - id: PRS.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(PRS) attribute?" - id: PRS.S.Afff8 - # # server / attributes # @@ -5629,26 +5400,6 @@ PICS: as a client?" id: PCC.C - #PCC -- Global Attributes - - label: "Does the device implement the ClusterRevision(PCC) attribute?" - id: PCC.S.Afffd - - - label: "Does the device implement the FeatureMap(PCC) attribute?" - id: PCC.S.Afffc - - - label: "Does the device implement the AttributeList(PCC) attribute?" - id: PCC.S.Afffb - - - label: "Does the device implement the EventList(PCC) attribute?" - id: PCC.S.Afffa - - - label: "Does the device implement the AcceptedCommandList(PCC) attribute?" - id: PCC.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(PCC) attribute?" - id: PCC.S.Afff8 - # # server / attributes # @@ -6133,27 +5884,6 @@ PICS: client?" id: DGSW.C - #DGSW -- Global Attributes - - label: "Does the device implement the ClusterRevision(DGSW) attribute?" - id: DGSW.S.Afffd - - - label: "Does the device implement the FeatureMap(DGSW) attribute?" - id: DGSW.S.Afffc - - - label: "Does the device implement the AttributeList(DGSW) attribute?" - id: DGSW.S.Afffb - - - label: "Does the device implement the EventList(DGSW) attribute?" - id: DGSW.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(DGSW) attribute?" - id: DGSW.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(DGSW) attribute?" - id: DGSW.S.Afff8 - # # server / attributes # @@ -7281,29 +7011,6 @@ PICS: - label: "Does the device implement the SupportedCalendarTypes attribute ?" id: LTIME.S.A0002 - - label: - "Does the device implement the (0xFFF8) GeneratedCommandList attribute - ?" - id: LTIME.S.Afff8 - - - label: - "Does the device implement the (0xFFF9) AcceptedCommandList attribute - ?" - id: LTIME.S.Afff9 - - - label: "Does the device implement the (0xFFFA) EventList attribute ?" - id: LTIME.S.Afffa - - - label: "Does the device implement the (0xFFFB) AttributeList attribute ?" - id: LTIME.S.Afffb - - - label: "Does the device implement the (0xFFFC) FeatureMap attribute ?" - id: LTIME.S.Afffc - - - label: - "Does the device implement the (0xFFFD) ClusterRevision attribute ?" - id: LTIME.S.Afffd - - label: "Does the DUT (Server) support 12 Hr Hour Format ?" id: LTIME.S.A0000.12HR @@ -7377,29 +7084,6 @@ PICS: - label: "Does the device support the TemperatureUnit attribute ?" id: LUNIT.S.A0000 - - label: - "Does the device implement the (0xFFF8) GeneratedCommandList attribute - ?" - id: LUNIT.S.Afff8 - - - label: - "Does the device implement the (0xFFF9) AcceptedCommandList attribute - ?" - id: LUNIT.S.Afff9 - - - label: "Does the device implement the (0xFFFA) EventList attribute ?" - id: LUNIT.S.Afffa - - - label: "Does the device implement the (0xFFFB) AttributeList attribute ?" - id: LUNIT.S.Afffb - - - label: "Does the device implement the (0xFFFC) FeatureMap attribute ?" - id: LUNIT.S.Afffc - - - label: - "Does the device implement the (0xFFFD) ClusterRevision attribute ?" - id: LUNIT.S.Afffd - # # server / features # @@ -7463,27 +7147,6 @@ PICS: - label: "Does the device implement the User Label cluster as a client?" id: ULABEL.C - #ULABEL -- Global Attributes - - label: "Does the device implement the ClusterRevision(ULABEL) attribute?" - id: ULABEL.S.Afffd - - - label: "Does the device implement the FeatureMap(ULABEL) attribute?" - id: ULABEL.S.Afffc - - - label: "Does the device implement the AttributeList(ULABEL) attribute?" - id: ULABEL.S.Afffb - - - label: "Does the device implement the EventList(ULABEL) attribute?" - id: ULABEL.S.Afffa - - - label: - "Does the device implement the AcceptedCommandList(ULABEL) attribute?" - id: ULABEL.S.Afff9 - - - label: - "Does the device implement the GeneratedCommandList(ULABEL) attribute?" - id: ULABEL.S.Afff8 - # # server / attributes # @@ -7792,29 +7455,6 @@ PICS: - label: "Does the device implement the SafetyStatus attribute ?" id: WNCV.S.A001a - - label: - "Does the device implement the (0xFFF8) GeneratedCommandList attribute - ?" - id: WNCV.S.Afff8 - - - label: - "Does the device implement the (0xFFF9) AcceptedCommandList attribute - ?" - id: WNCV.S.Afff9 - - - label: "Does the device implement the (0xFFFA) EventList attribute ?" - id: WNCV.S.Afffa - - - label: "Does the device implement the (0xFFFB) AttributeList attribute ?" - id: WNCV.S.Afffb - - - label: "Does the device implement the (0xFFFC) FeatureMap attribute ?" - id: WNCV.S.Afffc - - - label: - "Does the device implement the (0xFFFD) ClusterRevision attribute ?" - id: WNCV.S.Afffd - - label: "Does the device support scene via the TargetPositionLiftPercent100ths attribute ?" @@ -9073,6 +8713,38 @@ PICS: "Does the device implement the Operational State cluster as a client?" id: OPSTATE.C + # ManuallyControlled + + - label: "Does the DUT support testing the Stopped(0x00) operational state" + id: OPSTATE.S.M.ST_STOPPED + + - label: "Does the DUT support testing the Running(0x01) operational state" + id: OPSTATE.S.M.ST_RUNNING + + - label: "Does the DUT support testing the Paused(0x02) operational state" + id: OPSTATE.S.M.ST_PAUSED + + - label: "Does the DUT support testing the Error(0x03) operational state?" + id: OPSTATE.S.M.ST_ERROR + + - label: "Does the DUT support testing the NoError(0x00) error state?" + id: OPSTATE.S.M.ERR_NO_ERROR + + - label: + "Does the DUT support testing the UnableToStartOrResume(0x01) error + state?" + id: OPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME + + - label: + "Does the DUT support testing the UnableToCompleteOperation(0x02) + error state?" + id: OPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION + + - label: + "Does the DUT support testing the CommandInvalidInState(0x03) error + state?" + id: OPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE + #Server Attributes - label: "Does the device implement the PhaseList attribute?" id: OPSTATE.S.A0000 @@ -9312,9 +8984,6 @@ PICS: the same endpoint?" id: RVCCLEANM.S.F00 - - label: "Does the device read the global attribute: EventList from the DUT" - id: RVCCLEANM.S.Afffa - # # server / attributes # @@ -9503,9 +9172,6 @@ PICS: the same endpoint?" id: RVCRUNM.S.F00 - - label: "Does the device read the global attribute: EventList from the DUT" - id: RVCRUNM.S.Afffa - #Attributes - label: "Does the device implement the SupportedModes attribute?" id: RVCRUNM.S.A0000 @@ -9577,6 +9243,82 @@ PICS: client?" id: RVCOPSTATE.C + # ManuallyControlled + + - label: "Does the DUT support testing the Stopped(0x00) operational state?" + id: RVCOPSTATE.S.M.ST_STOPPED + + - label: "Does the DUT support testing the Running(0x01) operational state?" + id: RVCOPSTATE.S.M.ST_RUNNING + + - label: "Does the DUT support testing the Paused(0x02) operational state?" + id: RVCOPSTATE.S.M.ST_PAUSED + + - label: "Does the DUT support testing the Error(0x03) operational state?" + id: RVCOPSTATE.S.M.ST_ERROR + + - label: + "Does the DUT support testing the SeekingCharger(0x40) operational + state?" + id: RVCOPSTATE.S.M.ST_SEEKING_CHARGER + + - label: + "Does the DUT support testing the Charging(0x41) operational state?" + id: RVCOPSTATE.S.M.ST_CHARGING + + - label: "Does the DUT support testing the Docked(0x42) operational state?" + id: RVCOPSTATE.S.M.ST_DOCKED + + - label: "Does the DUT support testing the NoError(0x00) error state?" + id: RVCOPSTATE.S.M.ERR_NO_ERROR + + - label: + "Does the DUT support testing the UnableToStartOrResume(0x01) error + state?" + id: RVCOPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME + + - label: + "Does the DUT support testing the UnableToCompleteOperation(0x02) + error state?" + id: RVCOPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION + + - label: + "Does the DUT support testing the CommandInvalidInState(0x03) error + state?" + id: RVCOPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE + + - label: + "Does the DUT support testing the FailedToFindChargingDock(0x40) error + state?" + id: RVCOPSTATE.S.M.ERR_FAILED_TO_FIND_CHARGING_DOCK + + - label: "Does the DUT support testing the Stuck(0x41) error state?" + id: RVCOPSTATE.S.M.ERR_STUCK + + - label: + "Does the DUT support testing the DustBinMissing(0x42) error state?" + id: RVCOPSTATE.S.M.ERR_DUST_BIN_MISSING + + - label: "Does the DUT support testing the DustBinFull(0x43) error state?" + id: RVCOPSTATE.S.M.ERR_DUST_BIN_FULL + + - label: + "Does the DUT support testing the WaterTankEmpty(0x44) error state?" + id: RVCOPSTATE.S.M.ERR_WATER_TANK_EMPTY + + - label: + "Does the DUT support testing the WaterTankMissing(0x45) error state?" + id: RVCOPSTATE.S.M.ERR_WATER_TANK_MISSING + + - label: + "Does the DUT support testing the WaterTankLidOpen(0x46) error state?" + id: RVCOPSTATE.S.M.ERR_WATER_TANK_LID_OPEN + + - label: + "Does the DUT support testing the MopCleaningPadMissing(0x47) error + state?" + id: RVCOPSTATE.S.M.ERR_MOP_CLEANING_PAD_MISSING + #Attributes - label: "Does the device implement the PhaseList attribute?" id: RVCOPSTATE.S.A0000 diff --git a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml index 59284c86d30d55..9b95259a4efbb7 100644 --- a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml @@ -82,16 +82,6 @@ tests: hasMasksSet: [0x3] - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -143,22 +133,66 @@ tests: type: list contains: [5] - - label: "Step 5: TH reads EventList attribute from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool activatedcarbonfiltermonitoring read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0002, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0003 + - Based on feature support:- 0x0000, 0x0001 + + [1685958590.636044][11442:11444] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0072 Attribute 0x0000_FFFB DataVersion: 403478864 + [1690179748.767756][7924:7926] CHIP:TOO: AttributeList: 12 entries + [1690179748.767825][7924:7926] CHIP:TOO: [1]: 0 + [1690179748.767885][7924:7926] CHIP:TOO: [2]: 1 + [1690179748.767943][7924:7926] CHIP:TOO: [3]: 2 + [1690179748.767999][7924:7926] CHIP:TOO: [4]: 3 + [1690179748.768056][7924:7926] CHIP:TOO: [5]: 4 + [1690179748.768112][7924:7926] CHIP:TOO: [6]: 5 + [1690179748.768170][7924:7926] CHIP:TOO: [7]: 65528 + [1690179748.768227][7924:7926] CHIP:TOO: [8]: 65529 + [1690179748.768283][7924:7926] CHIP:TOO: [9]: 65530 + [1690179748.768340][7924:7926] CHIP:TOO: [10]: 65531 + [1690179748.768397][7924:7926] CHIP:TOO: [11]: 65532 + [1690179748.768454][7924:7926] CHIP:TOO: [12]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + # EventList disabled for 1.2 + # - label: "Step 5: TH reads EventList attribute from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: + value: [] constraints: type: list - contains: [] - label: "Step 6b: Read the optional command (ResetCondition) in @@ -171,10 +205,69 @@ tests: type: list contains: [0] - - label: "Step 7: Read the global attribute: GeneratedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 6c: TH reads from the DUT the AcceptedCommandList attribute. + 1.The list SHALL NOT contain any additional values in the standard or + scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - + 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer + Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be + ignored. 3.The list SHALL NOT contain any values in the Test Vendor or + invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), + (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool activatedcarbonfiltermonitoring read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685959114.395290][11468:11470] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0072 Attribute 0x0000_FFF9 DataVersion: 403478864 + [1685959114.395414][11468:11470] CHIP:TOO: AcceptedCommandList: 0 entries + [1690183785.805331][8169:8171] CHIP:TOO: [1]: 0 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 7b: TH reads from the DUT the GeneratedCommandList attribute. + 1.The list SHALL NOT contain any additional values in the standard or + scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - + 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer + Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be + ignored. 3.The list SHALL NOT contain any values in the Test Vendor or + invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), + (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool activatedcarbonfiltermonitoring read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685959192.277991][11472:11474] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0072 Attribute 0x0000_FFF8 DataVersion: 403478864 + [1685959192.278115][11472:11474] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_ACL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACL_1_1.yaml index 58cc1a6c7aea87..312847a7b57067 100644 --- a/src/app/tests/suites/certification/Test_TC_ACL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACL_1_1.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: TH reads ClusterRevision attribute from DUT" - PICS: ACL.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -41,7 +40,6 @@ tests: type: int16u - label: "Step 3: TH reads FeatureMap attribute from DUT" - PICS: ACL.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -50,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList attribute from DUT" - PICS: PICS_EVENT_LIST_ENABLED && ACL.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 2, 3, 4, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads AttributeList attribute from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && ACL.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -68,7 +56,7 @@ tests: contains: [0, 2, 3, 4, 65528, 65529, 65531, 65532, 65533] - label: "Step 4b: TH reads optional attribute (Extension) in AttributeList" - PICS: ACL.S.A0001 && ACL.S.Afffb + PICS: ACL.S.A0001 command: "readAttribute" attribute: "AttributeList" response: @@ -108,7 +96,7 @@ tests: [1676270267.634334][20397:20399] CHIP:TOO: [11]: 65533 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && ACL.S.Afffb + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -116,48 +104,16 @@ tests: - name: "expectedValue" value: "y" - - label: "Step 5a: TH reads EventList attribute from DUT" - PICS: PICS_EVENT_LIST_ENABLED && ACL.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0, 1] - - - label: - "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT - contain any additional values in the standard or scoped range: - (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the - Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), - these values SHALL be ignored. 3.The list SHALL NOT contain any values - in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), - (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where - XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool accesscontrol read event-list 1 0 - - Verify " EventList attribute " consists the list of supported events, which for this cluster should containing the following elements: - all mandatory events: AccessControlEntryChanged (0), AccessControlExtensionChanged (1) on the TH(Chip-tool) Log: - - [1676456597.556478][24006:24008] CHIP:DMG: } - [1676456597.556640][24006:24008] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFA DataVersion: 3448736795 - [1676456597.556677][24006:24008] CHIP:TOO: EventList: 2 entries - [1676456597.556687][24006:24008] CHIP:TOO: [1]: 0 - [1676456597.556693][24006:24008] CHIP:TOO: [2]: 1 - [1676456597.556763][24006:24008] CHIP:EM: <<< [E:51140i S:1376 M:55400435 (Ack:189635613)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676456597.556778][24006:24008] CHIP:IN: (S) Sending msg 55400435 on secure session with LSID: 1376 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && ACL.S.Afffa - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + # EventList disabled for 1.2 + # - label: "Step 5a: TH reads EventList attribute from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0, 1] + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1. The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -184,7 +140,7 @@ tests: [1656478328.211313][2458:2463] CHIP:IN: Prepared secure message 0xffff8a2e3958 to 0x0000000000000001 (1) of type 0x10 and protocolId (0, 0) on exchange 15270i with MessageCounter:229380798. cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && ACL.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -192,6 +148,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -219,7 +176,7 @@ tests: [1656478396.324967][2467:2472] CHIP:IN: Sending encrypted msg 0xffffab7ed958 with MessageCounter:243106706 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && ACL.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml index 2f423f5f58a821..1287673e7da9f2 100644 --- a/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml @@ -48,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -74,26 +64,6 @@ tests: type: list contains: [2] - #EventList failure https://github.com/project-chip/connectedhomeip/issues/26571 - - label: "Step 5: TH reads EventList attribute from DUT" - verification: | - ./chip-tool actions read event-list 1 1 - - On TH(chip-tool), verify that DUT responds with list of supported events as 1 entry. - - [1676460741.103254][37023:37025] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_FFFA DataVersion: 928273128 - [1676460741.103303][37023:37025] CHIP:TOO: EventList: 1 entries - [1676460741.103320][37023:37025] CHIP:TOO: [1]: 0 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - # Checking only type check all commands are optional - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_AIRQUAL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_AIRQUAL_1_1.yaml index bf8419269d26a5..8b861be9f6370e 100644 --- a/src/app/tests/suites/certification/Test_TC_AIRQUAL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_AIRQUAL_1_1.yaml @@ -93,17 +93,7 @@ tests: type: bitmap32 hasMasksSet: [0x8] - - label: "Step 4: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" + - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" response: @@ -111,16 +101,54 @@ tests: type: list contains: [0, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5: TH reads EventList attribute from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4b: TH reads from the DUT the AttributeList attribute. 1.The + list SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). + 2.The list MAY contain values in the Manufacturer Extensible + Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. + 3.The list SHALL NOT contain any values in the Test Vendor or invalid + range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool airquality read attribute-list 1 1 + + Verify we are getting supported attribute list sent in the above command on TH(chip-tool) log + Below is the example value which is observed in the RPI platform the value may be differ based on the dut implementation. + + [1685258693.808637][110898:110900] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_005B Attribute 0x0000_FFFB DataVersion: 3241788930 + [1685258693.808679][110898:110900] CHIP:TOO: AttributeList: 7 entries + [1685258693.808703][110898:110900] CHIP:TOO: [1]: 0 + [1685258693.808711][110898:110900] CHIP:TOO: [2]: 65528 + [1685258693.808718][110898:110900] CHIP:TOO: [3]: 65529 + [1685258693.808725][110898:110900] CHIP:TOO: [4]: 65530 + [1685258693.808733][110898:110900] CHIP:TOO: [5]: 65531 + [1685258693.808743][110898:110900] CHIP:TOO: [6]: 65532 + [1685258693.808752][110898:110900] CHIP:TOO: [7]: 65533 + [1685258693.808831][110898:110900] CHIP:EM: <<< [E:31713i S:23166 M:213128168 (Ack:192433969)] (S) Msg TX to 1:0000000000000001 [BFD3] --- Type 0000:10 (SecureChannel:StandaloneAck) + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - - label: "Step 6: Read the global attribute: AcceptedCommandList" + # EventList disabled for 1.2 + # - label: "Step 5: TH reads EventList attribute from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6:a Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -128,10 +156,72 @@ tests: type: list contains: [] - - label: "Step 7: Read the global attribute: GeneratedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 6b: TH reads from the DUT the AcceptedCommandList attribute. + 1.The list SHALL NOT contain any additional values in the standard or + scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - + 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer + Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be + ignored. 3.The list SHALL NOT contain any values in the Test Vendor or + invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), + (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool airquality read accepted-command-list 1 1 + + ON TH(Chip-tool) verify the Accepted-command-list value is 0 entries + + + [1685259569.647040][111317:111320] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_005B Attribute 0x0000_FFF9 DataVersion: 3241788930 + [1685259569.647067][111317:111320] CHIP:TOO: AcceptedCommandList: 0 entries + [1685259569.647126][111317:111320] CHIP:EM: <<< [E:53927i S:47055 M:265148451 (Ack:221551330)] (S) Msg TX to 1:0000000000000001 [BFD3] --- Type 0000:10 (SecureChannel:StandaloneAck) + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 7b: TH reads from the DUT the GeneratedCommandList attribute. + 1.The list SHALL NOT contain any additional values in the standard or + scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - + 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer + Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be + ignored. 3.The list SHALL NOT contain any values in the Test Vendor or + invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), + (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool airquality read accepted-command-list 1 1 + + ON TH(Chip-tool) verify the Accepted-command-list value is 0 entries + + + [1685259569.647040][111317:111320] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_005B Attribute 0x0000_FFF9 DataVersion: 3241788930 + [1685259569.647067][111317:111320] CHIP:TOO: AcceptedCommandList: 0 entries + [1685259569.647126][111317:111320] CHIP:EM: <<< [E:53927i S:47055 M:265148451 (Ack:221551330)] (S) Msg TX to 1:0000000000000001 [BFD3] --- Type 0000:10 (SecureChannel:StandaloneAck) + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml b/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml index b60b6d484f7ce0..9f24869dc87177 100644 --- a/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml +++ b/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml @@ -50,16 +50,6 @@ tests: type: bitmap32 - label: "Step 3: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -83,11 +73,11 @@ tests: type: list contains: [1] - - label: "Step 6: TH reads EventList attribute from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 6: TH reads EventList attribute from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml b/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml index 7c79ec9d5a8920..3d11b6501227e3 100644 --- a/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml @@ -50,17 +50,6 @@ tests: type: bitmap32 - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [2, 4, 5, 6, 7, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -111,11 +100,11 @@ tests: constraints: type: list - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml b/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml index f1198214bb2ab8..fa3dbca609ce84 100644 --- a/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml @@ -60,16 +60,6 @@ tests: type: bitmap32 - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -112,11 +102,11 @@ tests: type: list contains: [3] - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml index 6493ece836f96e..d18a13e7f12443 100644 --- a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml @@ -60,16 +60,6 @@ tests: hasMasksClear: [0x2] - label: "Step 3: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -93,11 +83,10 @@ tests: constraints: type: list - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # - label: "Step 6: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml index c2e06f988f0ad1..fbb27f8652c68c 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: BIND.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -41,7 +40,6 @@ tests: type: int16u - label: "Step 3: TH reads the FeatureMap from DUT" - PICS: BIND.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -50,17 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && BIND.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && BIND.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -97,34 +84,7 @@ tests: [1676272454.138354][22525:22527] CHIP:TOO: [7]: 65533 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && BIND.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool binding read event-list 1 1 - - Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: - - [1676456961.540195][24182:24184] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001E Attribute 0x0000_FFFA DataVersion: 2461106731 - [1676456961.540229][24182:24184] CHIP:TOO: EventList: 0 entries - [1676456961.540302][24182:24184] CHIP:EM: <<< [E:6972i S:40230 M:131899248 (Ack:28190068)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676456961.540320][24182:24184] CHIP:IN: (S) Sending msg 131899248 on secure session with LSID: 40230 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && BIND.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -132,6 +92,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -150,7 +111,7 @@ tests: [1653560851.891077][3451:3456] CHIP:TOO: AcceptedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && BIND.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -158,6 +119,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -176,7 +138,7 @@ tests: [1653560872.885073][3458:3463] CHIP:TOO: GeneratedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && BIND.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml index dde6ab9bb90979..3902cc32ceacee 100644 --- a/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml @@ -35,7 +35,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: BINFO.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -44,7 +43,6 @@ tests: type: int16u - label: "Step 3: TH reads the FeatureMap from DUT" - PICS: BINFO.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -53,7 +51,6 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && BINFO.S.Afffb command: "readAttribute" attribute: "AttributeList" response: @@ -75,36 +72,6 @@ tests: 19, 65528, 65529, - 65530, - 65531, - 65532, - 65533, - ] - - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && BINFO.S.Afffb" - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 8, - 9, - 10, - 19, - 65528, - 65529, - 65531, 65532, 65533, @@ -113,7 +80,7 @@ tests: - label: "Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList" - PICS: BINFO.S.A000b && BINFO.S.Afffb + PICS: BINFO.S.A000b command: "readAttribute" attribute: "AttributeList" response: @@ -122,7 +89,7 @@ tests: contains: [11] - label: "Step 4c: TH reads optional attribute(PartNumber) in attributeList" - PICS: BINFO.S.A000c && BINFO.S.Afffb + PICS: BINFO.S.A000c command: "readAttribute" attribute: "AttributeList" response: @@ -131,7 +98,7 @@ tests: contains: [12] - label: "Step 4d: TH reads optional attribute(ProductURL) in attributeList" - PICS: BINFO.S.A000d && BINFO.S.Afffb + PICS: BINFO.S.A000d command: "readAttribute" attribute: "AttributeList" response: @@ -141,7 +108,7 @@ tests: - label: "Step 4e: TH reads optional attribute(ProductLabel) in attributeList" - PICS: BINFO.S.A000e && BINFO.S.Afffb + PICS: BINFO.S.A000e command: "readAttribute" attribute: "AttributeList" response: @@ -151,7 +118,7 @@ tests: - label: "Step 4f: TH reads optional attribute(SerialNumber) in attributeList" - PICS: BINFO.S.A000f && BINFO.S.Afffb + PICS: BINFO.S.A000f command: "readAttribute" attribute: "AttributeList" response: @@ -162,7 +129,7 @@ tests: - label: "Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList" - PICS: BINFO.S.A0010 && BINFO.S.Afffb + PICS: BINFO.S.A0010 command: "readAttribute" attribute: "AttributeList" response: @@ -171,7 +138,7 @@ tests: contains: [16] - label: "Step 4h: TH reads optional attribute(Reachable) in attributeList" - PICS: BINFO.S.A0011 && BINFO.S.Afffb + PICS: BINFO.S.A0011 command: "readAttribute" attribute: "AttributeList" response: @@ -180,7 +147,7 @@ tests: contains: [17] - label: "Step 4i: TH reads optional attribute(UniqueID) in attributeList" - PICS: BINFO.S.A0012 && BINFO.S.Afffb + PICS: BINFO.S.A0012 command: "readAttribute" attribute: "AttributeList" response: @@ -236,7 +203,7 @@ tests: [1676283398.910435][6374:6376] CHIP:TOO: [26]: 65533 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && BINFO.S.Afffb + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -244,19 +211,20 @@ tests: - name: "expectedValue" value: "y" - - label: "Step 5a: TH1 reads EventList from DUT" - PICS: - "PICS_EVENT_LIST_ENABLED && BINFO.S.Afffa && !BINFO.S.E00 && - !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 " - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 5a: TH1 reads EventList from DUT" + # PICS: + # " !BINFO.S.E00 && + # !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 5b: Read BINFO.S.E00(StartUp) event in EventList" - PICS: PICS_EVENT_LIST_ENABLED && BINFO.S.E00 && BINFO.S.Afffa + PICS: BINFO.S.E00 command: "readAttribute" attribute: "EventList" response: @@ -265,7 +233,7 @@ tests: contains: [0] - label: "Step 5c: Read BINFO.S.E01(ShutDown) event in EventList" - PICS: PICS_EVENT_LIST_ENABLED && BINFO.S.E01 && BINFO.S.Afffa + PICS: BINFO.S.E01 command: "readAttribute" attribute: "EventList" response: @@ -274,7 +242,7 @@ tests: contains: [1] - label: "Step 5d: Read BINFO.S.E02(Leave) event in EventList" - PICS: PICS_EVENT_LIST_ENABLED && BINFO.S.E02 && BINFO.S.Afffa + PICS: BINFO.S.E02 command: "readAttribute" attribute: "EventList" response: @@ -283,7 +251,7 @@ tests: contains: [2] - label: "Step 5e: Read (ReachableChanged) event in EventList" - PICS: PICS_EVENT_LIST_ENABLED && BINFO.S.A0011 && BINFO.S.Afffa + PICS: BINFO.S.A0011 command: "readAttribute" attribute: "EventList" response: @@ -291,37 +259,7 @@ tests: type: list contains: [3] - - label: - "Step 5f: TH reads EventList attribute from DUT. 1.The list SHALL NOT - contain any additional values in the standard or scoped range: - (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the - Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), - these values SHALL be ignored. 3.The list SHALL NOT contain any values - in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), - (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where - XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool basicinformation read event-list 1 - - Verify "EventList " consists the list of supported events (0, 1, 2)on the TH(Chip-tool) Log: - - [1676291718.628403][27706:27708] CHIP:DMG: } - [1676291718.628931][27706:27708] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFA DataVersion: 1838069172 - [1676291718.628983][27706:27708] CHIP:TOO: EventList: 3 entries - [1676291718.629003][27706:27708] CHIP:TOO: [1]: 0 - [1676291718.629015][27706:27708] CHIP:TOO: [2]: 1 - [1676291718.629026][27706:27708] CHIP:TOO: [3]: 2 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && BINFO.S.Afffa - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -340,7 +278,7 @@ tests: [1651214820.355673][2695:2700] CHIP:TOO: AcceptedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && BINFO.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -348,6 +286,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -366,7 +305,7 @@ tests: [1651214861.208682][2702:2707] CHIP:TOO: GeneratedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && BINFO.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml index 3cb68be05967b2..63a41f2fd0c7ea 100644 --- a/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml @@ -48,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -81,20 +71,21 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED && BOOL.S.E00 - command: "readAttribute" - attribute: "EventList" - response: - value: [0] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 7: Read the global attribute: EventList" + # PICS: BOOL.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [0] + # constraints: + # type: list - - label: "Step 7: Read the global attribute: EventList" - PICS: "PICS_EVENT_LIST_ENABLED && !BOOL.S.E00 " - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # - label: "Step 7: Read the global attribute: EventList" + # PICS: " !BOOL.S.E00 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml index 563fd45a06511e..c370a2d94656ef 100644 --- a/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml @@ -210,45 +210,35 @@ tests: type: list contains: [18] - - label: "Step 5a: TH reads optional event(StartUp) in EventList" - PICS: PICS_EVENT_LIST_ENABLED && BRBINFO.S.E00 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0] - - - label: "Step 5b: TH reads optional attribute(ShutDown) in EventList" - PICS: PICS_EVENT_LIST_ENABLED && BRBINFO.S.E01 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1] - - - label: "Step 5c: TH reads optional attribute(Leave) in EventList" - PICS: PICS_EVENT_LIST_ENABLED && BRBINFO.S.E02 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [2] - - #EventList failure Mandatory event ReachableChanged(0x3) not in list + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: - "Step 5d: Read EventList attribute from the DUT and Verify that the - DUT response provides a list of supported events." + "Step 4p: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" verification: | - ./chip-tool bridgeddevicebasicinformation read event-list 1 3 + ./chip-tool bridgeddevicebasicinformation read attribute-list 1 3 - On TH(chip-tool), Verify that DUT response contains list of supported events, for this cluster the list is empty(0 enties) + Via the TH (chip-tool), verify: + - that AttributeList attribute contains list of supported attributes. + -that the list has mandatory attribute(Reachable attribute), optional attributes and Global attributes. - 1676439985.362352][22002:22004] CHIP:DMG: } - [1676439985.362396][22002:22004] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0039 Attribute 0x0000_FFFA DataVersion: 266846256 - [1676439985.362407][22002:22004] CHIP:TOO: EventList: 0 entries + [1676277997.061046][3751:3753] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0039 Attribute 0x0000_FFFB DataVersion: 1860081282 + [1676277997.061134][3751:3753] CHIP:TOO: AttributeList: 8 entries + [1676277997.061192][3751:3753] CHIP:TOO: [1]: 5 + [1676277997.061220][3751:3753] CHIP:TOO: [2]: 17 + [1676277997.061245][3751:3753] CHIP:TOO: [3]: 65528 + [1676277997.061274][3751:3753] CHIP:TOO: [4]: 65529 + [1676277997.061306][3751:3753] CHIP:TOO: [5]: 65530 + [1676277997.061337][3751:3753] CHIP:TOO: [6]: 65531 + [1676277997.061367][3751:3753] CHIP:TOO: [7]: 65532 + [1676277997.061399][3751:3753] CHIP:TOO: [8]: 65533 cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT @@ -259,7 +249,35 @@ tests: - name: "expectedValue" value: "y" - - label: "Step 6: TH1 reads AcceptedCommandList from DUT" + # EventList disabled for 1.2 + # - label: "Step 5a: TH reads optional event(StartUp) in EventList" + # PICS: BRBINFO.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0] + + # - label: "Step 5b: TH reads optional attribute(ShutDown) in EventList" + # PICS: BRBINFO.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1] + + # - label: "Step 5c: TH reads optional attribute(Leave) in EventList" + # PICS: BRBINFO.S.E02 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [2] + + - label: "Step 6a: TH1 reads AcceptedCommandList from DUT" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -267,10 +285,67 @@ tests: constraints: type: list - - label: "Step 7: TH1 reads GeneratedCommandList from DUT" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool bridgeddevicebasicinformation read accepted-command-list 1 3 + + Via the TH (chip-tool), verify: + -that AcceptedCommandList attribute contains list of supported commands. + -that list has empty (0 entries) for this cluster. + + [1657696300.165081][15447:15452] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0039 Attribute 0x0000_FFF9 DataVersion: 2577979325 + [1657696300.165174][15447:15452] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: TH1 reads GeneratedCommandList from DUT" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY + contain values in the Manufacturer Extensible Identifier (MEI) range: + (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT + contain any values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool bridgeddevicebasicinformation read generated-command-list 1 3 + + Via the TH (chip-tool), verify: + -that GeneratedCommandList attribute contains list of supported commands. + -that list has empty (0 entries) for this cluster. + + [1657696328.889936][15454:15459] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0039 Attribute 0x0000_FFF8 DataVersion: 2577979325 + [1657696328.890017][15454:15459] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml index 990b1b942a77a3..afc00b8011894f 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml @@ -112,28 +112,6 @@ tests: hasMasksSet: [0x10] - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [ - 8, - 15, - 16385, - 16394, - 65528, - 65529, - 65530, - 65531, - 65532, - 65533, - ] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -630,14 +608,14 @@ tests: type: list contains: [16400] - - label: "Step 5: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_CC_6_5.yaml b/src/app/tests/suites/certification/Test_TC_CC_6_5.yaml old mode 100644 new mode 100755 index 888e99827c5922..3bab44386e2181 --- a/src/app/tests/suites/certification/Test_TC_CC_6_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_6_5.yaml @@ -91,8 +91,8 @@ tests: maxValue: 65279 - label: - "TH writes to StartUpColorTemperatureMireds attribute with value - StartUpColorTemperatureMireds" + "Step 2a: TH writes to StartUpColorTemperatureMireds attribute with + value StartUpColorTemperatureMireds" verification: | ./chip-tool colorcontrol write start-up-color-temperature-mireds 32639 1 1 @@ -133,7 +133,7 @@ tests: value: "y" - label: - "Step 2a: TH reads StartUpColorTemperatureMireds attribute from DUT" + "Step 2b: TH reads StartUpColorTemperatureMireds attribute from DUT" PICS: CC.S.A4010 && CC.S.F04 command: "readAttribute" attribute: "StartUpColorTemperatureMireds" diff --git a/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml index 097b390ed16acc..bdae531319d60f 100644 --- a/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -313,16 +303,65 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool carbondioxideconcentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009,0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000,0x0001.0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,0x0008,0x000a + + [1685960397.210408][11541:11543] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_040D Attribute 0x0000_FFFB DataVersion: 832916414 + [1685960397.210558][11541:11543] CHIP:TOO: AttributeList: 17 entries + [1685960397.210606][11541:11543] CHIP:TOO: [1]: 0 + [1685960397.210646][11541:11543] CHIP:TOO: [2]: 1 + [1685960397.210684][11541:11543] CHIP:TOO: [3]: 2 + [1685960397.210721][11541:11543] CHIP:TOO: [4]: 3 + [1685960397.210760][11541:11543] CHIP:TOO: [5]: 4 + [1685960397.210797][11541:11543] CHIP:TOO: [6]: 5 + [1685960397.210835][11541:11543] CHIP:TOO: [7]: 6 + [1685960397.210872][11541:11543] CHIP:TOO: [8]: 7 + [1685960397.210909][11541:11543] CHIP:TOO: [9]: 8 + [1685960397.210948][11541:11543] CHIP:TOO: [10]: 9 + [1685960397.210986][11541:11543] CHIP:TOO: [11]: 10 + [1685960397.211025][11541:11543] CHIP:TOO: [12]: 65528 + [1685960397.211064][11541:11543] CHIP:TOO: [13]: 65529 + [1685960397.211102][11541:11543] CHIP:TOO: [14]: 65530 + [1685960397.211141][11541:11543] CHIP:TOO: [15]: 65531 + [1685960397.211179][11541:11543] CHIP:TOO: [16]: 65532 + [1685960397.211217][11541:11543] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + # EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,10 +369,64 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool carbondioxideconcentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that theAcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685960703.799496][11550:11552] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_040D Attribute 0x0000_FFF9 DataVersion: 832916414 + [1685960703.799652][11550:11552] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool carbondioxideconcentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that theGeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685960779.325075][11556:11558] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_040D Attribute 0x0000_FFF8 DataVersion: 832916414 + [1685960779.325258][11556:11558] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_CGEN_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CGEN_1_1.yaml index 983b77c6b33a4f..78469161d30345 100644 --- a/src/app/tests/suites/certification/Test_TC_CGEN_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CGEN_1_1.yaml @@ -48,17 +48,6 @@ tests: type: bitmap32 - label: "Step 4: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [0, 1, 2, 3, 4, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -66,14 +55,14 @@ tests: type: list contains: [0, 1, 2, 3, 4, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml b/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml index a89062e3f6fdeb..65ccb7a5e6fc66 100644 --- a/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml +++ b/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml @@ -72,16 +72,6 @@ tests: hasMasksSet: [0x2] - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -168,11 +158,11 @@ tests: type: list contains: [1] - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml index 3c80b3bbe7fccf..c1b23438564fe9 100644 --- a/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -313,16 +303,64 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool carbonmonoxideconcentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that theAttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1685965930.706971][11849:11851] CHIP:TOO: AttributeList: 17 entries + [1685965930.707011][11849:11851] CHIP:TOO: [1]: 0 + [1685965930.707045][11849:11851] CHIP:TOO: [2]: 1 + [1685965930.707076][11849:11851] CHIP:TOO: [3]: 2 + [1685965930.707107][11849:11851] CHIP:TOO: [4]: 3 + [1685965930.707138][11849:11851] CHIP:TOO: [5]: 4 + [1685965930.707169][11849:11851] CHIP:TOO: [6]: 5 + [1685965930.707200][11849:11851] CHIP:TOO: [7]: 6 + [1685965930.707231][11849:11851] CHIP:TOO: [8]: 7 + [1685965930.707262][11849:11851] CHIP:TOO: [9]: 8 + [1685965930.707293][11849:11851] CHIP:TOO: [10]: 9 + [1685965930.707324][11849:11851] CHIP:TOO: [11]: 10 + [1685965930.707356][11849:11851] CHIP:TOO: [12]: 65528 + [1685965930.707387][11849:11851] CHIP:TOO: [13]: 65529 + [1685965930.707418][11849:11851] CHIP:TOO: [14]: 65530 + [1685965930.707449][11849:11851] CHIP:TOO: [15]: 65531 + [1685965930.707480][11849:11851] CHIP:TOO: [16]: 65532 + [1685965930.707511][11849:11851] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + # EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,10 +368,63 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool carbonmonoxideconcentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that theAcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_040C Attribute 0x0000_FFF9 DataVersion: 2062554595 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY + contain values in the Manufacturer Extensible Identifier (MEI) range: + (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT + contain any values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool carbonmonoxideconcentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that theGeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_040C Attribute 0x0000_FFF8 DataVersion: 2062554595 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml b/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml index 390d9f6f159064..6565fdb6d2783d 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml @@ -34,7 +34,6 @@ tests: value: nodeId - label: "Step 2: Read the global attribute: ClusterRevision" - PICS: CNET.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -43,7 +42,7 @@ tests: type: int16u - label: "Step 3a: Read the global attribute: FeatureMap" - PICS: " !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 && CNET.S.Afffc" + PICS: " !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 " command: "readAttribute" attribute: "FeatureMap" response: @@ -51,7 +50,7 @@ tests: - label: "Step 3b: Read the global attribute: FeatureMap when CNET.S.F00 is set" - PICS: CNET.S.F00 && CNET.S.Afffc + PICS: CNET.S.F00 command: "readAttribute" attribute: "FeatureMap" response: @@ -59,7 +58,7 @@ tests: - label: "Step 3c: Read the global attribute: FeatureMap when CNET.S.F01 is set" - PICS: CNET.S.F01 && CNET.S.Afffc + PICS: CNET.S.F01 command: "readAttribute" attribute: "FeatureMap" response: @@ -67,23 +66,13 @@ tests: - label: "Step 3d: Read the global attribute: FeatureMap when CNET.S.F02 is set" - PICS: CNET.S.F02 && CNET.S.Afffc + PICS: CNET.S.F02 command: "readAttribute" attribute: "FeatureMap" response: value: 4 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED && CNET.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED && CNET.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -94,7 +83,7 @@ tests: - label: "Step 4b: Read mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true" - PICS: CNET.S.F00 || CNET.S.F01 || CNET.S.F02 && CNET.S.Afffb + PICS: CNET.S.F00 || CNET.S.F01 || CNET.S.F02 command: "readAttribute" attribute: "AttributeList" response: @@ -105,7 +94,7 @@ tests: - label: "Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList" - PICS: CNET.S.A0002 && CNET.S.Afffb + PICS: CNET.S.A0002 command: "readAttribute" attribute: "AttributeList" response: @@ -116,7 +105,7 @@ tests: - label: "Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList" - PICS: CNET.S.A0003 && CNET.S.Afffb + PICS: CNET.S.A0003 command: "readAttribute" attribute: "AttributeList" response: @@ -204,36 +193,7 @@ tests: [1660316011.017068][3112:3117] CHIP:EM: Sending Standalone Ack for MessageCounter:239150268 on exchange 45209i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && CNET.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - Onnetwork - - ./chip-tool networkcommissioning read event-list 1 0 - - On TH(chip-tool) , Verify that DUT response provides a list of supported events. For this cluster the list is empty with 0 entries - [1677044346.136984][29792:29794] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFA DataVersion: 2890326041 - [1677044346.137022][29792:29794] CHIP:TOO: EventList: 0 entries - [1677044346.137100][29792:29794] CHIP:EM: <<< [E:3325i S:48426 M:159215324 (Ack:164155971)] (S) Msg TX to 1:0000000000000001 [682F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1677044346.137117][29792:29794] CHIP:IN: (S) Sending msg 159215324 on secure session with LSID: 48426 - [1677044346.137158][29792:29794] CHIP:EM: Flushed pending ack for MessageCounter:164155971 on exchange 3325i - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && CNET.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -244,7 +204,7 @@ tests: - label: "Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH)" - PICS: ( CNET.S.F00 || CNET.S.F01 ) && CNET.S.Afff9 + PICS: ( CNET.S.F00 || CNET.S.F01 ) command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -255,7 +215,7 @@ tests: - label: "Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true)" - PICS: CNET.S.F00 && CNET.S.Afff9 + PICS: CNET.S.F00 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -266,7 +226,7 @@ tests: - label: "Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is true)" - PICS: CNET.S.F01 && CNET.S.Afff9 + PICS: CNET.S.F01 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -277,12 +237,13 @@ tests: - label: "Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) is true)" - PICS: CNET.S.F02 && CNET.S.Afff9 + PICS: CNET.S.F02 command: "readAttribute" attribute: "AcceptedCommandList" response: value: [] + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values in the standard or scoped @@ -332,7 +293,7 @@ tests: [1660316038.564991][3121:3126] CHIP:EM: Sending Standalone Ack for MessageCounter:232731891 on exchange 30329i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && CNET.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -343,7 +304,7 @@ tests: - label: "Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or CNET.S.F01(TH) is true)" - PICS: ( CNET.S.F00 || CNET.S.F01 ) && CNET.S.Afff8 + PICS: ( CNET.S.F00 || CNET.S.F01 ) command: "readAttribute" attribute: "GeneratedCommandList" response: @@ -354,12 +315,13 @@ tests: - label: "Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related features(CNET.S.F02(ET) must be true)" - PICS: CNET.S.F02 && CNET.S.Afff8 + PICS: CNET.S.F02 command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7c: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -408,7 +370,7 @@ tests: [1650370342.693995][7450:7455] CHIP:EM: Sending Standalone Ack for MessageCounter:2345375 on exchange 2514 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && CNET.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml b/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml index 17ed1badddc10e..abd68a5ff58485 100644 --- a/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml +++ b/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml @@ -73,16 +73,6 @@ tests: hasMasksSet: [0x2] - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -140,11 +130,11 @@ tests: type: list contains: [2] - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml new file mode 100644 index 00000000000000..02efbdfbf26425 --- /dev/null +++ b/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml @@ -0,0 +1,375 @@ +# 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: + 29.1.8. [TC-DA-1.8] Device Attestation Request Validation-Success Scenario + [DUT-Commissioner] + +config: + nodeId: 0x12344321 + cluster: "Basic Information" + endpoint: 0 + +tests: + - label: "Precondition/Test case description" + verification: | + (for all steps, PIs use equivalent command on their respective platform) + set the $CHIP_ROOT environment variable to the location of the connectedhomeip directory (cd to the connectedhomeip directory, use command `export CHIP_ROOT=$(pwd -P)` + For each scenario outlined in the sheet TC-DA-1.8 test cases, perform the following actions + - Start the TH using the required certificate set and PID. For chip-all-clusters-app, use the command given in the chip-all-clusters app command column + - Have the DUT commission the TH. Verify that the DUT indicates that the device is not genuine, or otherwise indicates a failure of device attestation, within its error handling APIs or user interface. + - factory reset the TH + disabled: true + + - label: + "Step : For each of the following test cases, start the TH using the + appropriate certificate set, commission the TH using the DUT, then + factory reset the TH:" + verification: | + Perform the following actions (PIs use equivalent command on their respective platform) + - Start the TH using the required certificate set and PID. For chip-all-clusters-app, use the command given in the chip-all-clusters app command column + - Have the DUT commission the TH. Verify that the TH is successfully commissioned for each test case + - factory reset the TH + command when using chip-all-clusters-app: sudo rm -rf /tmp/chip_* + + disabled: true + + - label: + "Step 1: CD Test Vector: The product_id_array field has one PID value + which matches the PID value in DAC." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Fallback VID and PID encoding example from + spec: valid example showing that order or separators are not + considered at all for the overall validity of the embedded fields" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Fallback VID and PID encoding example: valid + but less human-readable" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The authorized_paa_list contains two PAAs one + of which is valid PAA authorized to sign the PAI." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Valid certificate public key curve prime256v1" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Valid certificate public key curve prime256v1" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Certificate includes optional Authority + Information Access extension" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Certificate includes optional Subject + Alternative Name extension" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Certificate includes optional Extended Key + Usage extension" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The product_id_array field has 100 PID values + one of which matches the PID value in DAC." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Fallback VID and PID encoding example from + spec: valid but less readable" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Fallback VID and PID encoding example: valid + but less human-readable" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Mix of Fallback and Matter OID encoding for + VID and PID: valid Matter OIDs are used and wrong values in the + common-name are ignored" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The dac_origin_vendor_id and + dac_origin_product_id fields are not present." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Certificate Key Usage extension + diginalSignature field is wrong (not present for DAC and present for + PAI which is OK as optional)" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Valid certificate signature algorithm + ECDSA_WITH_SHA256" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Valid certificate signature algorithm + ECDSA_WITH_SHA256" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Fallback VID and PID encoding example from + spec: valid example showing that order or separators are not + considered at all for the overall validity of the embedded fields" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: "Step : CD Test Vector: Valid CMS version set to v3." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Fallback VID and PID encoding example from + spec: valid and recommended since easily human-readable" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The subjectKeyIdentifier contains SKID of a + well-known Zigbee Alliance certificate." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Certificate Basic Constraint extension + PathLen field set to 0" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Certificate includes optional Authority + Information Access extension" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Fallback VID and PID encoding example from + spec: invalid since substring following Mpid: is not exactly 4 + uppercase hexadecimal digits" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Fallback VID and PID encoding example from + spec: valid but less readable" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Certificate includes optional Extended Key + Usage extension" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Fallback VID and PID encoding example from + spec: valid and recommended since easily human-readable" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The product_id_array field has 10 PID values + one of which matches the PID value in DAC." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: "Step : CD Test Vector: Valid CMS digest algorithm SHA256." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: "Step : CD Test Vector: Valid format_version field set to 1." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Fallback VID and PID encoding example from + spec: valid but highly discouraged since embedding of substrings + within other substrings may be confusing to human readers" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The version_number field matches the VID and + PID used in a DeviceSoftwareVersionModel entry in the DCL matching the + certification record associated with the product presenting this CD." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: "Step : CD Test Vector: Valid CMS eContentType pkcs7-data." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The optional authorized_paa_list field is not + present." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The authorized_paa_list contains one valid PAA + which is authorized to sign the PAI." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Certificate includes optional Subject + Alternative Name extension" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The authorized_paa_list contains ten PAAs one + of which is valid PAA authorized to sign the PAI." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: The dac_origin_vendor_id and + dac_origin_product_id fields present and contain the VID and PID + values that match the VID and PID found in the DAC Subject DN." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Valid certificate version field set to v3(2)" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Fallback VID and PID encoding example from + spec: invalid since substring following Mpid: is not exactly 4 + uppercase hexadecimal digits" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: Origin VID/PID different than VID/PID (correct + use of origin)" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Valid certificate version field set to v3(2)" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Fallback VID and PID encoding example from + spec: valid and recommended since easily human-readable" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : PAI Test Vector: Mix of Fallback and Matter OID encoding for + VID and PID: valid Matter OIDs are used and wrong values in the + common-name are ignored" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Fallback VID and PID encoding example from + spec: valid but highly discouraged since embedding of substrings + within other substrings may be confusing to human readers" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : CD Test Vector: Valid CMS signature algorithm + ECDSA_WITH_SHA256." + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true + + - label: + "Step : DAC Test Vector: Fallback VID and PID encoding example from + spec: valid and recommended since easily human-readable" + verification: | + Verify that the TH is successfully commissioned for each test case + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DESC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DESC_1_1.yaml index 2e469df84d7d10..db5a5733f4c659 100644 --- a/src/app/tests/suites/certification/Test_TC_DESC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DESC_1_1.yaml @@ -32,13 +32,25 @@ tests: - name: "nodeId" value: nodeId + #Issue: https://github.com/project-chip/connectedhomeip/issues/26599 - label: "Step 2: Read the global attribute: ClusterRevision" - command: "readAttribute" - attribute: "ClusterRevision" - response: - value: 1 - constraints: - type: int16u + verification: | + ./chip-tool descriptor read cluster-revision 1 0 + + Verify "ClusterRevision" value is of unit16 and reflects the highest revision number, in RPI the value of ClusterRevision is 2 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1649425080.347625][3458:3463] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFD DataVersion: 3183189461 + [1649425080.347719][3458:3463] CHIP:TOO: ClusterRevision: 1 + [1649425080.347822][3458:3463] CHIP:EM: Sending Standalone Ack for MessageCounter:1458141 on exchange 62716i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 3: Read the global attribute: FeatureMap" command: "readAttribute" @@ -48,18 +60,8 @@ tests: constraints: type: bitmap32 - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533] - #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -106,31 +108,7 @@ tests: - name: "expectedValue" value: "y" - - label: - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool descriptor read event-list 1 0 - - Verify "EventList" is empty on the TH(Chip-tool) and below is the example log provided for raspi platform: - [1676366852.531123][9747:9749] CHIP:DMG: } - [1676366852.531291][9747:9749] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFA DataVersion: 2384113486 - [1676366852.531334][9747:9749] CHIP:TOO: EventList: 0 entries - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -158,6 +136,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) diff --git a/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml index ace91845fac089..4c3d5e4d9cda60 100644 --- a/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml @@ -33,7 +33,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: DGETH.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -42,7 +41,7 @@ tests: type: int16u - label: "Step 3a: TH reads the FeatureMap from DUT" - PICS: " !DGETH.S.F00 && !DGETH.S.F01 && DGETH.S.Afffc" + PICS: " !DGETH.S.F00 && !DGETH.S.F01" command: "readAttribute" attribute: "FeatureMap" response: @@ -52,7 +51,7 @@ tests: - label: "Step 3b: Given DGETH.S.F00 ensure featuremap has the correct bit set" - PICS: DGETH.S.F00 && DGETH.S.Afffc + PICS: DGETH.S.F00 command: "readAttribute" attribute: "FeatureMap" response: @@ -62,7 +61,7 @@ tests: - label: "Step 3c: Given DGETH.S.F01 ensure featuremap has the correct bit set" - PICS: DGETH.S.F01 && DGETH.S.Afffc + PICS: DGETH.S.F01 command: "readAttribute" attribute: "FeatureMap" response: @@ -71,16 +70,6 @@ tests: hasMasksSet: [0x2] - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && DGETH.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && DGETH.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -89,7 +78,7 @@ tests: contains: [65528, 65529, 65531, 65532, 65533] - label: "Step 4b: TH reads optional attribute(PHYRate) in AttributeList" - PICS: DGETH.S.A0000 && DGETH.S.Afffb + PICS: DGETH.S.A0000 command: "readAttribute" attribute: "AttributeList" response: @@ -98,7 +87,7 @@ tests: contains: [0] - label: "Step 4c: TH reads optional attribute(FullDuplex) in AttributeList" - PICS: DGETH.S.A0001 && DGETH.S.Afffb + PICS: DGETH.S.A0001 command: "readAttribute" attribute: "AttributeList" response: @@ -109,7 +98,7 @@ tests: - label: "Step 4d: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F00(PKTCNT)) in AttributeList" - PICS: DGETH.S.A0002 && DGETH.S.Afffb + PICS: DGETH.S.A0002 command: "readAttribute" attribute: "AttributeList" response: @@ -120,7 +109,7 @@ tests: - label: "Step 4e: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F00(PKTCNT)) in AttributeList" - PICS: DGETH.S.A0003 && DGETH.S.Afffb + PICS: DGETH.S.A0003 command: "readAttribute" attribute: "AttributeList" response: @@ -131,7 +120,7 @@ tests: - label: "Step 4f: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList" - PICS: DGETH.S.A0004 && DGETH.S.Afffb + PICS: DGETH.S.A0004 command: "readAttribute" attribute: "AttributeList" response: @@ -142,7 +131,7 @@ tests: - label: "Step 4g: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList" - PICS: DGETH.S.A0005 && DGETH.S.Afffb + PICS: DGETH.S.A0005 command: "readAttribute" attribute: "AttributeList" response: @@ -153,7 +142,7 @@ tests: - label: "Step 4h: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList" - PICS: DGETH.S.A0006 && DGETH.S.Afffb + PICS: DGETH.S.A0006 command: "readAttribute" attribute: "AttributeList" response: @@ -163,7 +152,7 @@ tests: - label: "Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList" - PICS: DGETH.S.A0007 && DGETH.S.Afffb + PICS: DGETH.S.A0007 command: "readAttribute" attribute: "AttributeList" response: @@ -173,7 +162,7 @@ tests: - label: "Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList" - PICS: DGETH.S.A0008 && DGETH.S.Afffb + PICS: DGETH.S.A0008 command: "readAttribute" attribute: "AttributeList" response: @@ -217,35 +206,7 @@ tests: [1676280358.144778][4074:4076] CHIP:TOO: [15]: 65533 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGETH.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool ethernetnetworkdiagnostics read event-list 1 0 - Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: - - [1676459303.132712][25176:25178] CHIP:DMG: } - [1676459303.132751][25176:25178] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFA DataVersion: 2330608789 - [1676459303.132772][25176:25178] CHIP:TOO: EventList: 0 entries - [1676459303.132795][25176:25178] CHIP:EM: <<< [E:41866i S:29076 M:220910528 (Ack:11574043)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676459303.132799][25176:25178] CHIP:IN: (S) Sending msg 220910528 on secure session with LSID: 29076 - [1676459303.132809][25176:25178] CHIP:EM: Flushed pending ack for MessageCounter:11574043 on exchange 41866i - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGETH.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -254,7 +215,7 @@ tests: value: "y" - label: "Step 6a: TH reads AcceptedCommandList from DUT" - PICS: ( DGETH.S.F00 || DGETH.S.F01 ) && DGETH.S.Afff9 + PICS: ( DGETH.S.F00 || DGETH.S.F01 ) command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -263,7 +224,7 @@ tests: contains: [0] - label: "Step 6b: TH reads AcceptedCommandList from DUT" - PICS: DGETH.S.Afff9 && !DGETH.S.F00 && !DGETH.S.F01 + PICS: " !DGETH.S.F00 && !DGETH.S.F01 " command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -271,6 +232,7 @@ tests: constraints: type: list + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values in the standard or scoped @@ -291,7 +253,7 @@ tests: [1651786971.201347][240944:240949] CHIP:TOO: [1]: 0 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGETH.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -299,6 +261,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -317,7 +280,7 @@ tests: [1651787190.403729][240971:240976] CHIP:TOO: GeneratedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGETH.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml index 32e077de34c9d9..4bf0dcdd581f52 100644 --- a/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml @@ -33,7 +33,6 @@ tests: value: nodeId - label: "Step 2: Read the global attribute: ClusterRevision" - PICS: DGGEN.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -42,7 +41,6 @@ tests: type: int16u - label: "Step 3: Read the global attribute: FeatureMap" - PICS: DGGEN.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -51,16 +49,6 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 8, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -69,7 +57,7 @@ tests: contains: [0, 1, 8, 65528, 65529, 65531, 65532, 65533] - label: "Step 4b: Read optional attribute(UpTime) in AttributeList" - PICS: DGGEN.S.A0002 && DGGEN.S.Afffb + PICS: DGGEN.S.A0002 command: "readAttribute" attribute: "AttributeList" response: @@ -80,7 +68,7 @@ tests: - label: "Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList" - PICS: DGGEN.S.A0003 && DGGEN.S.Afffb + PICS: DGGEN.S.A0003 command: "readAttribute" attribute: "AttributeList" response: @@ -89,7 +77,7 @@ tests: contains: [3] - label: "Step 4d: Read optional attribute(BootReason) in AttributeList" - PICS: DGGEN.S.A0004 && DGGEN.S.Afffb + PICS: DGGEN.S.A0004 command: "readAttribute" attribute: "AttributeList" response: @@ -100,7 +88,7 @@ tests: - label: "Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList" - PICS: DGGEN.S.A0005 && DGGEN.S.Afffb + PICS: DGGEN.S.A0005 command: "readAttribute" attribute: "AttributeList" response: @@ -110,7 +98,7 @@ tests: - label: "Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList" - PICS: DGGEN.S.A0006 && DGGEN.S.Afffb + PICS: DGGEN.S.A0006 command: "readAttribute" attribute: "AttributeList" response: @@ -121,7 +109,7 @@ tests: - label: "Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList" - PICS: DGGEN.S.A0007 && DGGEN.S.Afffb + PICS: DGGEN.S.A0007 command: "readAttribute" attribute: "AttributeList" response: @@ -165,7 +153,7 @@ tests: [1676280601.206035][4157:4159] CHIP:EM: <<< [E:45912i M:24926720 (Ack:175157605)] (S) Msg TX to 1:00000000 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGGEN.S.Afffb + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -173,75 +161,43 @@ tests: - name: "expectedValue" value: "y" - - label: "Step 5a: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [3] + # EventList disabled for 1.2 + # - label: "Step 5a: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [3] - - label: "Step 5b: Read optional event(HardwareFaultChange) in EventList" - PICS: PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E00 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0] + # - label: "Step 5b: Read optional event(HardwareFaultChange) in EventList" + # PICS: DGGEN.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0] - - label: "Step 5c: Read optional event(RadioFaultChange) in EventList" - PICS: PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E01 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1] - - - label: "Step 5d: Read optional event(NetworkFaultChange) in EventList" - PICS: PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E02 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [2] - - - label: - "Step 5e: TH reads EventList attribute from DUT. 1.The list MAY - contain values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool generaldiagnostics read event-list 1 0 + # - label: "Step 5c: Read optional event(RadioFaultChange) in EventList" + # PICS: DGGEN.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1] - - [1676459408.977604][25255:25257] CHIP:DMG: } - [1676459408.977730][25255:25257] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFA DataVersion: 4000280266 - [1676459408.977747][25255:25257] CHIP:TOO: EventList: 4 entries - [1676459408.977752][25255:25257] CHIP:TOO: [1]: 0 - [1676459408.977755][25255:25257] CHIP:TOO: [2]: 1 - [1676459408.977759][25255:25257] CHIP:TOO: [3]: 2 - [1676459408.977761][25255:25257] CHIP:TOO: [4]: 3 - [1676459408.977790][25255:25257] CHIP:EM: <<< [E:3742i S:56131 M:239009454 (Ack:224914310)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676459408.977795][25255:25257] CHIP:IN: (S) Sending msg 239009454 on secure session with LSID: 56131 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGGEN.S.Afffa - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + # - label: "Step 5d: Read optional event(NetworkFaultChange) in EventList" + # PICS: DGGEN.S.E02 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [2] - label: "Step 6a: Read the global attribute: AcceptedCommandList" - PICS: DGGEN.S.Afff9 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -249,6 +205,7 @@ tests: type: list contains: [0] + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values in the standard or scoped @@ -270,7 +227,7 @@ tests: [1654681912.443085][32901:32906] CHIP:EM: Sending Standalone Ack for MessageCounter:150175766 on exchange 54113i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGGEN.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -278,6 +235,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -297,7 +255,7 @@ tests: [1654681931.626454][32908:32913] CHIP:EM: Sending Standalone Ack for MessageCounter:43923364 on exchange cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGGEN.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_DGSW_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGSW_1_1.yaml index b8057505222a4e..ba1b0a00745dac 100644 --- a/src/app/tests/suites/certification/Test_TC_DGSW_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGSW_1_1.yaml @@ -33,7 +33,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: DGSW.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -42,7 +41,7 @@ tests: type: int16u - label: "Step 3a: TH reads the FeatureMap from DUT" - PICS: " !DGSW.S.F00 && DGSW.S.Afffc" + PICS: " !DGSW.S.F00 " command: "readAttribute" attribute: "FeatureMap" response: @@ -53,7 +52,7 @@ tests: - label: "Step 3b: Given DGSW.S.F00(Watermarks) ensure featuremap has the correct bit set" - PICS: DGSW.S.F00 && DGSW.S.Afffc + PICS: DGSW.S.F00 command: "readAttribute" attribute: "FeatureMap" response: @@ -62,16 +61,6 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && DGSW.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && DGSW.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -81,7 +70,7 @@ tests: - label: "Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList" - PICS: DGSW.S.A0000 && DGSW.S.Afffb + PICS: DGSW.S.A0000 command: "readAttribute" attribute: "AttributeList" response: @@ -92,7 +81,7 @@ tests: - label: "Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList" - PICS: DGSW.S.A0001 && DGSW.S.Afffb + PICS: DGSW.S.A0001 command: "readAttribute" attribute: "AttributeList" response: @@ -103,7 +92,7 @@ tests: - label: "Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList" - PICS: DGSW.S.A0002 && DGSW.S.Afffb + PICS: DGSW.S.A0002 command: "readAttribute" attribute: "AttributeList" response: @@ -114,7 +103,7 @@ tests: - label: "Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList" - PICS: ( DGSW.S.F00 || DGSW.S.A0003 ) && DGSW.S.Afffb + PICS: ( DGSW.S.F00 || DGSW.S.A0003 ) command: "readAttribute" attribute: "AttributeList" response: @@ -154,7 +143,7 @@ tests: [1676280804.650522][4258:4260] CHIP:TOO: [10]: 65533 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGSW.S.Afffb + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -162,53 +151,27 @@ tests: - name: "expectedValue" value: "y" - - label: "Step 5a: TH reads EventList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && DGSW.S.E00 && DGSW.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0] - - - label: "Step 5b: TH reads EventList from DUT" - PICS: "PICS_EVENT_LIST_ENABLED && !DGSW.S.E00 && DGSW.S.Afffa " - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list - - - label: - "Step 5c: TH reads EventList attribute from DUT. 1.The list MAY - contain values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool softwarediagnostics read event-list 1 0 - - - [1676459464.108583][25294:25296] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFA DataVersion: 650337896 - [1676459464.108607][25294:25296] CHIP:TOO: EventList: 1 entries - [1676459464.108612][25294:25296] CHIP:TOO: [1]: 0 - [1676459464.108635][25294:25296] CHIP:EM: <<< [E:23624i S:46243 M:182610763 (Ack:167177651)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676459464.108640][25294:25296] CHIP:IN: (S) Sending msg 182610763 on secure session with LSID: 46243 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGSW.S.Afffa - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + # EventList disabled for 1.2 + # - label: "Step 5a: TH reads EventList from DUT" + # PICS: DGSW.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0] + + # - label: "Step 5b: TH reads EventList from DUT" + # PICS: " !DGSW.S.E00 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6a: TH reads AcceptedCommandList from DUT" - PICS: DGSW.S.F00 && DGSW.S.Afff9 + PICS: DGSW.S.F00 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -217,14 +180,14 @@ tests: contains: [0] - label: "Step 6b: TH reads AcceptedCommandList from DUT" - PICS: " !DGSW.S.F00 && DGSW.S.Afff9" + PICS: " !DGSW.S.F00 " command: "readAttribute" attribute: "AcceptedCommandList" response: value: [] constraints: type: list - + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values in the standard or scoped @@ -245,7 +208,7 @@ tests: [1651787861.534793][241117:241122] CHIP:TOO: [1]: 0 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGSW.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -253,6 +216,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -271,7 +235,7 @@ tests: [1651787918.020734][241128:241133] CHIP:TOO: GeneratedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DGSW.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml index 1348b752bf9525..1303763805b8ae 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml @@ -96,7 +96,6 @@ tests: hasMasksSet: [0x8] - label: "Step 4a: TH reads mandatory attributes in AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED command: "readAttribute" attribute: "AttributeList" response: @@ -123,41 +122,6 @@ tests: 62, 65528, 65529, - 65530, - 65531, - 65532, - 65533, - ] - - - label: "Step 4a: TH reads mandatory attributes in AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [ - 0, - 1, - 2, - 3, - 4, - 5, - 7, - 8, - 9, - 10, - 11, - 12, - 13, - 59, - 60, - 61, - 62, - 65528, - 65529, - 65531, 65532, 65533, @@ -263,35 +227,36 @@ tests: type: list contains: [58] - - label: "Step 5a: TH reads EventList from DUT" - PICS: "PICS_EVENT_LIST_ENABLED && !DGTHREAD.S.E00 && !DGTHREAD.S.E01 " - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 5a: TH reads EventList from DUT" + # PICS: " !DGTHREAD.S.E00 && !DGTHREAD.S.E01 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - - label: - "Step 5b: TH reads DGTHREAD.S.E00(ConnectionStatus) event in EventList" - PICS: PICS_EVENT_LIST_ENABLED && DGTHREAD.S.E00 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0] + # - label: + # "Step 5b: TH reads DGTHREAD.S.E00(ConnectionStatus) event in EventList" + # PICS: DGTHREAD.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0] - - label: - "Step 5c: TH reads DGTHREAD.S.E01(NetworkFaultChange) event in - EventList" - PICS: PICS_EVENT_LIST_ENABLED && DGTHREAD.S.E01 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1] + # - label: + # "Step 5c: TH reads DGTHREAD.S.E01(NetworkFaultChange) event in + # EventList" + # PICS: DGTHREAD.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1] - label: "Step 6a: TH reads AcceptedCommandList from DUT" PICS: " !DGTHREAD.S.F01 " @@ -311,10 +276,71 @@ tests: type: list contains: [0] - - label: "Step 7: TH reads GeneratedCommandList from DUT" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool threadnetworkdiagnostics read accepted-command-list 54 0 + + Verify "AcceptedCommandList: 1 entries" on the TH(Chip-tool) Log: + + [1649748231.835572][9579:9584] CHIP:DMG: SuppressResponse = true, + [1649748231.835633][9579:9584] CHIP:DMG: InteractionModelRevision = 1 + [1649748231.835690][9579:9584] CHIP:DMG: } + [1649748231.836192][9579:9584] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFF9 DataVersion: 1406212801 + [1649748231.836344][9579:9584] CHIP:TOO: AcceptedCommandList: 1 entries + [1649748231.836420][9579:9584] CHIP:TOO: [1]: 0 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: TH reads GeneratedCommandList from DUT" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool threadnetworkdiagnostics read generated-command-list 54 0 + + Verify "GeneratedCommandList: 0 entries" on the TH(Chip-tool) Log: + + [1649748201.118100][9570:9575] CHIP:DMG: SuppressResponse = true, + [1649748201.118163][9570:9575] CHIP:DMG: InteractionModelRevision = 1 + [1649748201.118221][9570:9575] CHIP:DMG: } + [1649748201.118561][9570:9575] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFF8 DataVersion: 1406212801 + [1649748201.118707][9570:9575] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_2_1.yaml index 92f50b358ea19c..61a5800c2b4204 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_2_1.yaml @@ -451,7 +451,7 @@ tests: Verify "SecurityPolicy attribute has the following value" on the TH(Chip-tool) Log: RotationTime is of the type uint16 - Flags is of the type uint8 + Flags is of the type uint16 [1649825860.866762][3472:3477] CHIP:DMG: SuppressResponse = true, [1649825860.866826][3472:3477] CHIP:DMG: InteractionModelRevision = 1 diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml index c37875850572fd..d225d75be41b55 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml @@ -71,17 +71,6 @@ tests: hasMasksSet: [0x2] - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [0, 1, 2, 3, 4, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -150,46 +139,45 @@ tests: constraints: type: list - - label: "Step 7a: TH reads EventList from DUT" - PICS: - "PICS_EVENT_LIST_ENABLED && !DGWIFI.S.E00 && !DGWIFI.S.E01 && - !DGWIFI.S.E02 " - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list - - - label: - "Step 7b: TH reads optional attribute (Disconnection) in EventList - from DUT" - PICS: PICS_EVENT_LIST_ENABLED && DGWIFI.S.E00 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0] - - - label: - "Step 7c: TH reads optional attribute (AssociationFailure) in - EventList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && DGWIFI.S.E01 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1] - - - label: - "Step 7d: TH reads optional attribute (ConnectionStatus) in EventList - from DUT" - PICS: PICS_EVENT_LIST_ENABLED && DGWIFI.S.E02 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [2] + # EventList disabled for 1.2 + # - label: "Step 7a: TH reads EventList from DUT" + # PICS: " !DGWIFI.S.E00 && !DGWIFI.S.E01 && !DGWIFI.S.E02 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + # - label: + # "Step 7b: TH reads optional attribute (Disconnection) in EventList + # from DUT" + # PICS: DGWIFI.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0] + + # - label: + # "Step 7c: TH reads optional attribute (AssociationFailure) in + # EventList from DUT" + # PICS: DGWIFI.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1] + + # - label: + # "Step 7d: TH reads optional attribute (ConnectionStatus) in EventList + # from DUT" + # PICS: DGWIFI.S.E02 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [2] diff --git a/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml index 133c6814e080ff..06040323ba0875 100644 --- a/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: DLOG.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -41,7 +40,6 @@ tests: type: int16u - label: "Step 3: TTH reads the FeatureMap from DUT" - PICS: DLOG.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -50,17 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: TTH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && DLOG.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - - label: "Step 4a: TTH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && DLOG.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -97,34 +84,7 @@ tests: [1676282213.422226][3638:3640] CHIP:EM: <<< [E:42829i M:266551039 (Ack:231594444)] (S) Msg TX to 1:000000 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DLOG.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 4b: TTH reads EventList attribute from DUT. 1.The list MAY - contain values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool diagnosticlogs read event-list 1 0 - - Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: - - [1676460292.457787][25934:25936] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFA DataVersion: 1490287489 - [1676460292.457829][25934:25936] CHIP:TOO: EventList: 0 entries - [1676460292.457878][25934:25936] CHIP:EM: <<< [E:19170i S:29205 M:215468614 (Ack:174747327)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676460292.457892][25934:25936] CHIP:IN: (S) Sending msg 215468614 on secure session with LSID: 29205 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && DLOG.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -133,7 +93,6 @@ tests: value: "y" - label: "Step 6a: TTH reads AcceptedCommandList from DUT" - PICS: DLOG.S.Afff9 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -141,6 +100,7 @@ tests: constraints: type: list + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6b: TTH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values in the standard or scoped @@ -164,7 +124,7 @@ tests: [1649670700.139528][3624:3629] CHIP:TOO: [1]: 0 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DLOG.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -173,7 +133,6 @@ tests: value: "y" - label: "Step 7a: TTH reads GeneratedCommandList from DUT" - PICS: DLOG.S.Afff8 command: "readAttribute" attribute: "GeneratedCommandList" response: @@ -181,6 +140,7 @@ tests: constraints: type: list + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7b: TTH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier @@ -200,7 +160,7 @@ tests: [1659426423.334234][3296:3302] CHIP:TOO: [1]: 1 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && DLOG.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml index 7145d874775947..4cd64f7ea0f44c 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml @@ -174,17 +174,6 @@ tests: hasMasksSet: [0x1000] - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [0, 1, 2, 37, 38, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -396,35 +385,35 @@ tests: type: list contains: [44] - - label: "Step 5a: TH reads EventList from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0, 2, 3] - - - label: - "Step 5b: TH reads optional event(Door position sensor) in EventList" - PICS: PICS_EVENT_LIST_ENABLED && DRLK.S.F05 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1] - - - label: - "Step 5c: TH reads optional event(User commands and database) in - EventList" - PICS: PICS_EVENT_LIST_ENABLED && DRLK.S.F08 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [4] + # EventList disabled for 1.2 + # - label: "Step 5a: TH reads EventList from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0, 2, 3] + + # - label: + # "Step 5b: TH reads optional event(Door position sensor) in EventList" + # PICS: DRLK.S.F05 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1] + + # - label: + # "Step 5c: TH reads optional event(User commands and database) in + # EventList" + # PICS: DRLK.S.F08 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [4] - label: "Step 6a: TH reads AcceptedCommandList from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml old mode 100644 new mode 100755 index 1353bfb2390404..ecd16a23b216fd --- a/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_2_1.yaml @@ -22,6 +22,10 @@ config: cluster: "Door Lock" endpoint: 1 + WaitAfterLockAandUnlockDoor: + type: int16u + defaultValue: 5000 + tests: - label: "Wait for the commissioned device to be retrieved" cluster: "DelayCommands" @@ -31,31 +35,6 @@ tests: - name: "nodeId" value: nodeId - - label: "Precondition: Create new PIN credential and lock/unlock user" - PICS: DRLK.S.F00 && DRLK.S.F07 - command: "SetCredential" - timedInteractionTimeoutMs: 1000 - arguments: - values: - - name: "OperationType" - value: 0 - - name: "Credential" - value: { CredentialType: 1, CredentialIndex: 1 } - - name: "CredentialData" - value: "123456" - - name: "UserIndex" - value: null - - name: "UserStatus" - value: 1 - - name: "UserType" - value: 0 - response: - values: - - name: "Status" - value: 0 - - name: "NextCredentialIndex" - value: 2 - - label: "Step 1a: TH reads LockState attribute from DUT" PICS: DRLK.S.A0000 command: "readAttribute" @@ -84,18 +63,18 @@ tests: value: LockStateValue - label: "Step 1d: TH sends a Lock Door command to the DUT." - PICS: DRLK.S.C00.Rsp && !(DRLK.S.F00 && DRLK.S.F07) + PICS: DRLK.S.C00.Rsp command: "LockDoor" timedInteractionTimeoutMs: 1000 - - label: "Step 1d: TH sends a Lock Door command to the DUT." - PICS: DRLK.S.C00.Rsp && DRLK.S.F00 && DRLK.S.F07 - command: "LockDoor" - timedInteractionTimeoutMs: 1000 + - label: "Wait after Lock Door" + PICS: DRLK.S.C00.Rsp + cluster: "DelayCommands" + command: "WaitForMs" arguments: values: - - name: "PINCode" - value: "123456" + - name: "ms" + value: WaitAfterLockAandUnlockDoor - label: "Step 1d: TH reads LockState attribute from DUT" PICS: DRLK.S.A0000 @@ -105,18 +84,18 @@ tests: value: 1 - label: "Step 1e: TH sends a Unlock Door command to the DUT." - PICS: DRLK.S.C01.Rsp && !(DRLK.S.F00 && DRLK.S.F07) + PICS: DRLK.S.C01.Rsp command: "UnlockDoor" timedInteractionTimeoutMs: 1000 - - label: "Step 1e: TH sends a Unlock Door command to the DUT." - PICS: DRLK.S.C01.Rsp && DRLK.S.F00 && DRLK.S.F07 - command: "UnlockDoor" - timedInteractionTimeoutMs: 1000 + - label: "Wait after Unlock Door" + PICS: DRLK.S.C00.Rsp + cluster: "DelayCommands" + command: "WaitForMs" arguments: values: - - name: "PINCode" - value: "123456" + - name: "ms" + value: WaitAfterLockAandUnlockDoor - label: "Step 1e: TH reads LockState attribute from DUT" PICS: DRLK.S.A0000 @@ -658,29 +637,13 @@ tests: - label: "Step 18b: TH writes Credential RulesSupport attribute as bit 0 is set to 1" - PICS: PICS_SKIP_SAMPLE_APP && DRLK.S.F08 && DRLK.S.A001b - verification: | - ./chip-tool doorlock write-by-id 27 1 1 1 - - Verify "DUT responds with UNSUPPORTED_WRITE" on the TH(Chip-tool) Log: - - [1653636825.034667][3467:3472] CHIP:DMG: - [1653636825.034712][3467:3472] CHIP:DMG: StatusIB = - [1653636825.034758][3467:3472] CHIP:DMG: { - [1653636825.034804][3467:3472] CHIP:DMG: status = 0x88 (UNSUPPORTED_WRITE), - [1653636825.034851][3467:3472] CHIP:DMG: }, - [1653636825.034896][3467:3472] CHIP:DMG: - [1653636825.034933][3467:3472] CHIP:DMG: }, - [1653636825.034977][3467:3472] CHIP:DMG: - [1653636825.035013][3467:3472] CHIP:DMG: ], - cluster: "LogCommands" - command: "UserPrompt" + PICS: DRLK.S.F08 && DRLK.S.A001b + command: "writeAttribute" + attribute: "CredentialRulesSupport" arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" + value: 1 + response: + error: UNSUPPORTED_WRITE - label: "Step 18c: TH reads Credential RulesSupport attribute from DUT" PICS: DRLK.S.F08 && DRLK.S.A001b @@ -702,30 +665,30 @@ tests: maxLength: 3 - label: "Step 19b: TH writes Language attribute as fr" - PICS: DRLK.S.A0021.Write + PICS: DRLK.S.A0021 && DRLK.S.A0021.Write command: "writeAttribute" attribute: "Language" arguments: value: "fr" - label: "Step 19b: TH writes Language attribute as fr" - PICS: " !DRLK.S.A0021.Write " + PICS: DRLK.S.A0021 && !DRLK.S.A0021.Write command: "writeAttribute" attribute: "Language" arguments: value: "fr" response: - error: UNSUPPORTED_WRITE] + error: UNSUPPORTED_WRITE - label: "Step 19c: TH reads Language attribute from DUT" - PICS: DRLK.S.A0021.Write + PICS: DRLK.S.A0021 && DRLK.S.A0021.Write command: "readAttribute" attribute: "Language" response: value: "fr" - label: "Step 19c: TH reads Language attribute from DUT" - PICS: " !DRLK.S.A0021.Write " + PICS: DRLK.S.A0021 && !DRLK.S.A0021.Write command: "readAttribute" attribute: "Language" response: @@ -865,20 +828,10 @@ tests: command: "readAttribute" attribute: "SupportedOperatingModes" response: + value: 0xFFF6 saveAs: Current_Supported constraints: type: enum16 - anyOf: - [ - 0xFFF6, - 0xFFF4, - 0xFFF2, - 0xFFF0, - 0xFFE6, - 0xFFE4, - 0xFFE2, - 0xFFE0, - ] - label: "Step 23b: TH writes Supported OperatingModes attribute as bit 0 is @@ -1038,11 +991,8 @@ tests: command: "readAttribute" attribute: "EnableLocalProgramming" response: + value: 1 saveAs: Current_EnableLocal_Programming - constraints: - type: boolean - minValue: 0 - maxValue: 1 - label: "Step 26b: TH writes EnableLocalProgramming attribute as false" PICS: DRLK.S.A0028.Write @@ -1079,10 +1029,7 @@ tests: command: "readAttribute" attribute: "EnableOneTouchLocking" response: - constraints: - type: boolean - minValue: 0 - maxValue: 1 + value: 0 - label: "Step 27b: TH writes EnableOneTouchLocking attribute as true" PICS: DRLK.S.A0029 @@ -1103,10 +1050,7 @@ tests: command: "readAttribute" attribute: "EnableInsideStatusLED" response: - constraints: - type: boolean - minValue: 0 - maxValue: 1 + value: 0 - label: "Step 28b: TH writes EnableInsideStatusLED attribute as true" PICS: DRLK.S.A002a @@ -1127,10 +1071,7 @@ tests: command: "readAttribute" attribute: "EnablePrivacyModeButton" response: - constraints: - type: boolean - minValue: 0 - maxValue: 1 + value: 0 - label: "Step 29b: TH writes EnablePrivacy ModeButton attribute as true" PICS: DRLK.S.A002b @@ -1162,7 +1103,7 @@ tests: - label: "Step 30b: TH reads LocalProgrammingFeatures attribute from DUT. DRLK.S.A0028(EnableLocalProgramming) is True." - PICS: DRLK.S.A002c && DRLK.S.A0028.ReadOnly + PICS: DRLK.S.A002c && DRLK.S.A0028 command: "readAttribute" attribute: "LocalProgrammingFeatures" response: @@ -1173,7 +1114,7 @@ tests: - label: "Step 30b: TH reads LocalProgrammingFeatures attribute from DUT. DRLK.S.A0028(EnableLocalProgramming) is False." - PICS: DRLK.S.A002c && !DRLK.S.A0028.ReadOnly + PICS: DRLK.S.A002c && !DRLK.S.A0028 command: "readAttribute" attribute: "LocalProgrammingFeatures" response: @@ -1184,214 +1125,89 @@ tests: - label: "Step 30c: TH writes to LocalProgrammingFeatures to disable all the features (Change all bits to 0)" - PICS: - DRLK.S.A002c && DRLK.S.A0028.ReadOnly && DRLK.S.A002c.Write && - PICS_SKIP_SAMPLE_APP - verification: | - This is an Optional attribute, so its not compulsory to get the expected outcome - - ./chip-tool doorlock write-by-id 44 0 1 1 - - Verify " LocalProgrammingFeatures" on the TH(Chip-tool) Log: - - [1658987893.199449][2822:2827] CHIP:DMG: StatusIB = - [1658987893.199501][2822:2827] CHIP:DMG: { - [1658987893.199548][2822:2827] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1658987893.199598][2822:2827] CHIP:DMG: }, - [1658987893.199643][2822:2827] CHIP:DMG: - [1658987893.199683][2822:2827] CHIP:DMG: }, - [1658987893.199726][2822:2827] CHIP:DMG: - [1658987893.199761][2822:2827] CHIP:DMG: ], - [1658987893.199803][2822:2827] CHIP:DMG: - [1658987893.199839][2822:2827] CHIP:DMG: InteractionModelRevision = 1 - [1658987893.199873][2822:2827] CHIP:DMG: } - [1658987893.199968][2822:2827] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658987893.200012][2822:2827] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - cluster: "LogCommands" - command: "UserPrompt" + PICS: DRLK.S.A002c.Write && DRLK.S.A0028 + command: "writeAttribute" + attribute: "LocalProgrammingFeatures" arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: "Step 30d: TH sets the EnableLocalProgramming attribute to False" - PICS: - DRLK.S.A002c && DRLK.S.A0028.Write && DRLK.S.A002c.Write && - PICS_SKIP_SAMPLE_APP - verification: | - This is an Optional attribute, so its not compulsory to get the expected outcome - - ./chip-tool doorlock write enable-local-programming 0 1 1 - - Verify " EnableLocalProgramming" on the TH(Chip-tool) Log: - - [1658988052.124227][2834:2839] CHIP:DMG: StatusIB = - [1658988052.124259][2834:2839] CHIP:DMG: { - [1658988052.124292][2834:2839] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1658988052.124323][2834:2839] CHIP:DMG: }, - [1658988052.124353][2834:2839] CHIP:DMG: - [1658988052.124381][2834:2839] CHIP:DMG: }, - [1658988052.124410][2834:2839] CHIP:DMG: - [1658988052.124433][2834:2839] CHIP:DMG: ], - [1658988052.124462][2834:2839] CHIP:DMG: - [1658988052.124486][2834:2839] CHIP:DMG: InteractionModelRevision = 1 - [1658988052.124509][2834:2839] CHIP:DMG: } - [1658988052.124577][2834:2839] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658988052.124608][2834:2839] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) + value: 0 - This is an Optional attribute, so its not compulsory to get the expected outcome + - label: + "Step 30c: TH reads LocalProgrammingFeatures attribute from DUT. + DRLK.S.A0028(EnableLocalProgramming) is False." + PICS: DRLK.S.A002c.Write && DRLK.S.A0028 + command: "readAttribute" + attribute: "LocalProgrammingFeatures" + response: + constraints: + type: bitmap8 + hasMasksClear: [0x1, 0x2, 0x4, 0x8] - ./chip-tool doorlock read local-programming-features 1 1 - - Verify " LocalProgrammingFeatures" on the TH(Chip-tool) Log: - - [1658987637.292491][2794:2799] CHIP:DMG: StatusIB = - [1658987637.292530][2794:2799] CHIP:DMG: { - [1658987637.292568][2794:2799] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1658987637.292605][2794:2799] CHIP:DMG: }, - [1658987637.292642][2794:2799] CHIP:DMG: - [1658987637.292675][2794:2799] CHIP:DMG: }, - [1658987637.292713][2794:2799] CHIP:DMG: - [1658987637.292741][2794:2799] CHIP:DMG: }, - [1658987637.292774][2794:2799] CHIP:DMG: - [1658987637.292798][2794:2799] CHIP:DMG: ], - [1658987637.292828][2794:2799] CHIP:DMG: - [1658987637.292852][2794:2799] CHIP:DMG: SuppressResponse = true, - [1658987637.292878][2794:2799] CHIP:DMG: InteractionModelRevision = 1 - [1658987637.292901][2794:2799] CHIP:DMG: } - [1658987637.293006][2794:2799] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)" - cluster: "LogCommands" - command: "UserPrompt" + - label: "Step 30d: TH sets the EnableLocalProgramming attribute to False" + PICS: DRLK.S.A002c + command: "writeAttribute" + attribute: "EnableLocalProgramming" arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: "Step 30e: TH sets the EnableLocalProgramming attribute to True" - PICS: - DRLK.S.A002c && DRLK.S.A0028.Write && DRLK.S.A002c.Write && - PICS_SKIP_SAMPLE_APP - verification: | - This is an Optional attribute, so its not compulsory to get the expected outcome - - ./chip-tool doorlock write enable-local-programming 1 1 1 - - Verify " EnableLocalProgramming" on the TH(Chip-tool) Log: + value: false - [1658988136.125747][2845:2850] CHIP:DMG: StatusIB = - [1658988136.125781][2845:2850] CHIP:DMG: { - [1658988136.125814][2845:2850] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1658988136.125847][2845:2850] CHIP:DMG: }, - [1658988136.125879][2845:2850] CHIP:DMG: - [1658988136.125908][2845:2850] CHIP:DMG: }, - [1658988136.125941][2845:2850] CHIP:DMG: - [1658988136.125966][2845:2850] CHIP:DMG: ], - [1658988136.125997][2845:2850] CHIP:DMG: - [1658988136.126022][2845:2850] CHIP:DMG: InteractionModelRevision = 1 - [1658988136.126072][2845:2850] CHIP:DMG: } - [1658988136.126149][2845:2850] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658988136.126183][2845:2850] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - - - This is an Optional attribute, so its not compulsory to get the expected outcome + - label: + "Step 30d: Verify that all the 4 bits in the LocalProgrammingFeatures + is set to 0." + PICS: DRLK.S.A002c + command: "readAttribute" + attribute: "LocalProgrammingFeatures" + response: + constraints: + type: bitmap8 + hasMasksClear: [0x1, 0x2, 0x4, 0x8] - ./chip-tool doorlock read local-programming-features 1 1 - - Verify " LocalProgrammingFeatures" on the TH(Chip-tool) Log: - - [1658987637.292491][2794:2799] CHIP:DMG: StatusIB = - [1658987637.292530][2794:2799] CHIP:DMG: { - [1658987637.292568][2794:2799] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1658987637.292605][2794:2799] CHIP:DMG: }, - [1658987637.292642][2794:2799] CHIP:DMG: - [1658987637.292675][2794:2799] CHIP:DMG: }, - [1658987637.292713][2794:2799] CHIP:DMG: - [1658987637.292741][2794:2799] CHIP:DMG: }, - [1658987637.292774][2794:2799] CHIP:DMG: - [1658987637.292798][2794:2799] CHIP:DMG: ], - [1658987637.292828][2794:2799] CHIP:DMG: - [1658987637.292852][2794:2799] CHIP:DMG: SuppressResponse = true, - [1658987637.292878][2794:2799] CHIP:DMG: InteractionModelRevision = 1 - [1658987637.292901][2794:2799] CHIP:DMG: } - [1658987637.293006][2794:2799] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE)" - cluster: "LogCommands" - command: "UserPrompt" + - label: "Step 30e: TH sets the EnableLocalProgramming attribute to True" + PICS: DRLK.S.A0028.Write + command: "writeAttribute" + attribute: "EnableLocalProgramming" arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" + value: true + + - label: + "Step 30e: Verify that all the 4 bits in the LocalProgrammingFeatures + is set to 1." + PICS: DRLK.S.A0028.Write + command: "readAttribute" + attribute: "LocalProgrammingFeatures" + response: + constraints: + type: bitmap8 + hasMasksSet: [0x1, 0x2, 0x4, 0x8] - label: "Step 30f: TH sends a write message to change any one of the bits of the LocalProgrammingFeatures." - PICS: DRLK.S.A002c && DRLK.S.A002c.Write && PICS_SKIP_SAMPLE_APP - verification: | - This is an Optional attribute, so its not compulsory to get the expected outcome - - ./chip-tool doorlock write-by-id 44 2 1 1 - - Verify " DUT sends SUCCESS response" on the TH(Chip-tool) Log: - - [1658988308.728071][2866:2871] CHIP:DMG: StatusIB = - [1658988308.728110][2866:2871] CHIP:DMG: { - [1658988308.728152][2866:2871] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1658988308.728191][2866:2871] CHIP:DMG: }, - [1658988308.728229][2866:2871] CHIP:DMG: - [1658988308.728263][2866:2871] CHIP:DMG: }, - [1658988308.728299][2866:2871] CHIP:DMG: - [1658988308.728328][2866:2871] CHIP:DMG: ], - [1658988308.728364][2866:2871] CHIP:DMG: - [1658988308.728394][2866:2871] CHIP:DMG: InteractionModelRevision = 1 - [1658988308.728423][2866:2871] CHIP:DMG: } - [1658988308.728500][2866:2871] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658988308.728539][2866:2871] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - cluster: "LogCommands" - command: "UserPrompt" + PICS: DRLK.S.A002c && DRLK.S.A002c.Write + command: "writeAttribute" + attribute: "LocalProgrammingFeatures" arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" + value: 2 + + - label: + "Step 30f: Verify that the correct bit has been changed by doing a + Read on LocalProgrammingFeatures attribute.." + PICS: DRLK.S.A0028.Write + command: "readAttribute" + attribute: "LocalProgrammingFeatures" + response: + constraints: + type: bitmap8 + hasMasksSet: [0x2] - label: "Step 30g: TH sends a write message to change any one of the bits of the LocalProgrammingFeatures." - PICS: DRLK.S.A002c && DRLK.S.A002c.ReadOnly && PICS_SKIP_SAMPLE_APP - verification: | - This is an Optional attribute, so its not compulsory to get the expected outcome - - ./chip-tool doorlock write-by-id 44 3 1 1 - - Verify " DUT sends an UNSUPPORTED_WRITE" on the TH(Chip-tool) Log: - - [1658988387.295252][2874:2879] CHIP:DMG: StatusIB = - [1658988387.295294][2874:2879] CHIP:DMG: { - [1658988387.295336][2874:2879] CHIP:DMG: status = 0x86 (UNSUPPORTED_ATTRIBUTE), - [1658988387.295378][2874:2879] CHIP:DMG: }, - [1658988387.295419][2874:2879] CHIP:DMG: - [1658988387.295456][2874:2879] CHIP:DMG: }, - [1658988387.295499][2874:2879] CHIP:DMG: - [1658988387.295530][2874:2879] CHIP:DMG: ], - [1658988387.295569][2874:2879] CHIP:DMG: - [1658988387.295601][2874:2879] CHIP:DMG: InteractionModelRevision = 1 - [1658988387.295632][2874:2879] CHIP:DMG: } - [1658988387.295719][2874:2879] CHIP:DMG: WriteClient moving to [AwaitingDe] - [1658988387.295760][2874:2879] CHIP:TOO: Response Failure: IM Error 0x00000586: General error: 0x86 (UNSUPPORTED_ATTRIBUTE) - cluster: "LogCommands" - command: "UserPrompt" + PICS: DRLK.S.A002c && DRLK.S.A002c.ReadOnly + command: "writeAttribute" + attribute: "LocalProgrammingFeatures" arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" + value: 2 + response: + error: UNSUPPORTED_WRITE - label: "Step 31a: TH reads WrongCodeEntry Limit attribute from DUT TH saves @@ -1485,10 +1301,7 @@ tests: command: "readAttribute" attribute: "RequirePINforRemoteOperation" response: - constraints: - type: boolean - minValue: 0 - maxValue: 1 + value: 0 saveAs: Current_RequirePINFor_RemoteOperation - label: @@ -1598,12 +1411,3 @@ tests: attribute: "NumberOfCredentialsSupportedPerUser" response: value: NumberOfCredentialsSupportedPerUserValue - - - label: "Clean the created credential/user" - PICS: DRLK.S.F00 && DRLK.S.F07 - command: "ClearCredential" - timedInteractionTimeoutMs: 1000 - arguments: - values: - - name: "Credential" - value: { CredentialType: 1, CredentialIndex: 1 } diff --git a/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml index f716fec421c876..a9f0dcaac4bc74 100644 --- a/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml @@ -128,16 +128,6 @@ tests: hasMasksSet: [0x20] - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -189,7 +179,57 @@ tests: type: list contains: [11] - - label: "Step 4: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 3f: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool fancontrol read attribute-list 1 1 + + Via the TH (chip-tool), verify that theAttributeListattribute contains + - Mandatory entries:0x0000, 0x0001, 0x0002, 0x0003, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Based on feature support:- 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000a, 0x000b + Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1686031154.064099][14930:14933] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0202 Attribute 0x0000_FFFB DataVersion: 3896103279 + [1686031154.064331][14930:14933] CHIP:TOO: AttributeList: 18 entries + [1686031154.064408][14930:14933] CHIP:TOO: [1]: 0 + [1686031154.064468][14930:14933] CHIP:TOO: [2]: 1 + [1686031154.064526][14930:14933] CHIP:TOO: [3]: 2 + [1686031154.064584][14930:14933] CHIP:TOO: [4]: 3 + [1686031154.064640][14930:14933] CHIP:TOO: [5]: 4 + [1686031154.064697][14930:14933] CHIP:TOO: [6]: 5 + [1686031154.064754][14930:14933] CHIP:TOO: [7]: 6 + [1686031154.064811][14930:14933] CHIP:TOO: [8]: 7 + [1686031154.064868][14930:14933] CHIP:TOO: [9]: 8 + [1686031154.064929][14930:14933] CHIP:TOO: [10]: 9 + [1686031154.064987][14930:14933] CHIP:TOO: [11]: 10 + [1686031154.065045][14930:14933] CHIP:TOO: [12]: 11 + [1686031154.065103][14930:14933] CHIP:TOO: [13]: 65528 + [1686031154.065161][14930:14933] CHIP:TOO: [14]: 65529 + [1686031154.065218][14930:14933] CHIP:TOO: [15]: 65530 + [1686031154.065275][14930:14933] CHIP:TOO: [16]: 65531 + [1686031154.065333][14930:14933] CHIP:TOO: [17]: 65532 + [1686031154.065390][14930:14933] CHIP:TOO: [18]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 4a: Read the global attribute: AcceptedCommandList" PICS: " !FAN.S.C00.Rsp " command: "readAttribute" attribute: "AcceptedCommandList" @@ -198,8 +238,38 @@ tests: constraints: type: list + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: - "Step 5: Read the optional command (ResetCondition) in + "Step 4b: TH reads AcceptedCommandList attribute from DUT. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored.3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool fancontrol read accepted-command-list 1 1 + + On TH(chip-tool), Verify the AcceptedCommandList attribute that contains 1 entries: + Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1686031757.840606][14982:14984] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0202 Attribute 0x0000_FFF9 DataVersion: 3896103279 + [1686031757.840879][14982:14984] CHIP:TOO: AcceptedCommandList: 1 entries + [1686031757.840958][14982:14984] CHIP:TOO: [1]: 0 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: + "Step 5a: Read the optional command (ResetCondition) in AcceptedCommandList" PICS: FAN.S.C00.Rsp command: "readAttribute" @@ -208,3 +278,31 @@ tests: constraints: type: list contains: [0] + + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 5b: TH reads from the DUT the GeneratedCommandList attribute. + 1.The list SHALL NOT contain any additional values in the standard or + scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain + values in the Manufacturer Extensible Identifier (MEI) range: + (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT + contain any values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool fancontrol read generated-command-list 1 1 + + On TH(chip-tool), Verify the GeneratedCommandList attribute that contains 0 entries: + + [1689587005.212317][9422:9424] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0202 Attribute 0x0000_FFF8 DataVersion: 3321937588 + [1689587005.212457][9422:9424] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml index 6e24e7be5a7ded..a098c2480f2c35 100644 --- a/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: FLABEL.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -41,7 +40,6 @@ tests: type: int16u - label: "Step 3: TH reads the FeatureMap from DUT" - PICS: FLABEL.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -50,17 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && FLABEL.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && FLABEL.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -97,33 +84,7 @@ tests: [1676283591.496734][6597:6599] CHIP:EM: <<< [E:28165i M:228613411 (Ack:220149900)] (S) Msg TX to 1:000000 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && FLABEL.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool fixedlabel read event-list 1 0 - - Verify "EventList" contains a list of supported events. for this cluster the list SHALL be empty(0 entries) on the TH(Chip-tool) Log: - - 1676374181.204773][11726:11728] CHIP:DMG: } - [1676374181.204925][11726:11728] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFA DataVersion: 1038008956 - [1676374181.204971][11726:11728] CHIP:TOO: EventList: 0 entries - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && FLABEL.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -131,6 +92,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -150,7 +112,7 @@ tests: [1651124239.450713][2392:2397] CHIP:EM: Sending Standalone Ack for MessageCounter:5032784 on exchange 23524i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && FLABEL.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -158,6 +120,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -177,7 +140,7 @@ tests: [1651124266.980897][2527:2532] CHIP:EM: Sending Standalone Ack for MessageCounter:11345894 on exchange 5110i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && FLABEL.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml index c55f58614d0f2a..971d40a90fb095 100644 --- a/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -313,16 +303,65 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool formaldehydeconcentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that theAttributeList attribute contains + - Mandatory entries:0x0009,0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000,0x0001.0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,0x0008,0x000a + + [1685960397.210408][11541:11543] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042B Attribute 0x0000_FFFB DataVersion: 41919546 + [1687332771.911694][4110:4112] CHIP:TOO: AttributeList: 17 entries + [1687332771.911766][4110:4112] CHIP:TOO: [1]: 0 + [1687332771.911827][4110:4112] CHIP:TOO: [2]: 1 + [1687332771.911884][4110:4112] CHIP:TOO: [3]: 2 + [1687332771.911940][4110:4112] CHIP:TOO: [4]: 3 + [1687332771.911997][4110:4112] CHIP:TOO: [5]: 4 + [1687332771.912053][4110:4112] CHIP:TOO: [6]: 5 + [1687332771.912109][4110:4112] CHIP:TOO: [7]: 6 + [1687332771.912165][4110:4112] CHIP:TOO: [8]: 7 + [1687332771.912223][4110:4112] CHIP:TOO: [9]: 8 + [1687332771.912279][4110:4112] CHIP:TOO: [10]: 9 + [1687332771.912337][4110:4112] CHIP:TOO: [11]: 10 + [1687332771.912395][4110:4112] CHIP:TOO: [12]: 65528 + [1687332771.912453][4110:4112] CHIP:TOO: [13]: 65529 + [1687332771.912511][4110:4112] CHIP:TOO: [14]: 65530 + [1687332771.912569][4110:4112] CHIP:TOO: [15]: 65531 + [1687332771.912626][4110:4112] CHIP:TOO: [16]: 65532 + [1687332771.912683][4110:4112] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + # EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,6 +369,33 @@ tests: constraints: type: list + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool formaldehydeconcentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685960703.799496][11550:11552] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042B Attribute 0x0000_FFF9 DataVersion: 41919546 + [1685960703.799652][11550:11552] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 7: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" @@ -337,3 +403,30 @@ tests: value: [] constraints: type: list + + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool formaldehydeconcentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685960779.325075][11556:11558] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042B Attribute 0x0000_FFF8 DataVersion: 41919546 + [1685960779.325258][11556:11558] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml index cc69776a03ee47..37d1993e862170 100644 --- a/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: Read the global attribute: ClusterRevision" - PICS: FLW.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -41,7 +40,6 @@ tests: type: int16u - label: "Step 3: Read the global attribute: FeatureMap" - PICS: FLW.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -50,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED && FLW.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED && FLW.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -68,7 +56,7 @@ tests: contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] - label: "Step 4b: Read the optional attribute(Tolerance) in AttributeList" - PICS: FLW.S.A0003 && FLW.S.Afffb + PICS: FLW.S.A0003 command: "readAttribute" attribute: "AttributeList" response: @@ -108,33 +96,7 @@ tests: [1676283744.634854][6703:6705] CHIP:EM: <<< [E:1353i M:55876299 (Ack:134302507)] (S) Msg TX to 1:00000000 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && FLW.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool flowmeasurement read event-list 1 1 - - Verify "EventList " consists the list of supported events, Also verify that the DUT response with an empty list (0 entries) if there is no events on the TH(Chip-tool) Log: - - [1676363157.137814][9032:9034] CHIP:DMG: } - [1676363157.137855][9032:9034] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_FFFA DataVersion: 2916521407 - [1676363157.137868][9032:9034] CHIP:TOO: EventList: 0 entries - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && FLW.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -142,6 +104,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values in the standard or scoped @@ -162,7 +125,7 @@ tests: [1676360099.159185][8526:8528] CHIP:TOO: AcceptedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && FLW.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -170,6 +133,7 @@ tests: - name: "expectedValue" value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) @@ -189,7 +153,7 @@ tests: [1676360138.548281][8539:8541] CHIP:TOO: GeneratedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && FLW.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_GRPKEY_1_1.yaml b/src/app/tests/suites/certification/Test_TC_GRPKEY_1_1.yaml index 4f9f2db080c1c3..9a9d4eb4ead37d 100644 --- a/src/app/tests/suites/certification/Test_TC_GRPKEY_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_GRPKEY_1_1.yaml @@ -61,16 +61,6 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: " !PICS_EVENT_LIST_ENABLED " command: "readAttribute" attribute: "AttributeList" response: @@ -116,14 +106,13 @@ tests: - name: "expectedValue" value: "y" - - label: "Step 5a: TH1 reads EventList from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # - label: "Step 5a: TH1 reads EventList from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT diff --git a/src/app/tests/suites/certification/Test_TC_G_1_1.yaml b/src/app/tests/suites/certification/Test_TC_G_1_1.yaml index f0e103e587b49b..dd933420efd39d 100644 --- a/src/app/tests/suites/certification/Test_TC_G_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_1_1.yaml @@ -58,16 +58,6 @@ tests: hasMasksSet: [0x1] - label: "Step 4: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -75,14 +65,14 @@ tests: type: list contains: [0, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5: TH reads EventList from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 5: TH reads EventList from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6: TH reads AcceptedCommandList from DUT" command: "readAttribute" 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 b1549332c0c3ac..5b4e137bf6d881 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 @@ -14,7 +14,7 @@ # Auto-generated scripts for harness use only, please review before automation. The endpoints and cluster names are currently set to default name: - 125.2.3. [TC-G-2.3] Commands - GetGroupMembership, AddGroupIfIdentifying + 131.2.3. [TC-G-2.3] Commands - GetGroupMembership, AddGroupIfIdentifying [DUT-Server] PICS: @@ -44,93 +44,452 @@ tests: [1683802556.948520][41067:41069] CHIP:TOO: MaxGroupsPerFabric: 12 disabled: true - - label: | - Pre-Conditions: If maxgroups>0, proceed with the following steps + - label: + "Step 1a: TH sends KeySetWrite command in the GroupKeyManagement + 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" + verification: | + ./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 1, "groupKeySecurityPolicy": 0, "epochKey0": + "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": + "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": + "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0 - TH generates fabric-unique GroupID, GroupName, random key, EpochKey0 - and GroupKeySetID. + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - TH generates an EpochKey and saves as epoch_key_set1_epoch0 + [1658316948.574526][4039:4044] CHIP:DMG: StatusIB = + [1658316948.574561][4039:4044] CHIP:DMG: { + [1658316948.574597][4039:4044] CHIP:DMG: status = 0x00 (SUCCESS), + [1658316948.574632][4039:4044] CHIP:DMG: }, + disabled: true - TH sends a KeySetWriteCommand to the Group Key Management cluster with - the following fields set in the GroupKeySet struct: + - label: + "Step 1b: TH writes the GroupKeyMap attribute in the + GroupKeyManagement cluster of DUT on EP0 with maxgroups entries + binding GroupId(0x0002 to (maxgroups+1)) with GroupKeySetID 1" + verification: | + ./chip-tool groupkeymanagement write group-key-map '[{"groupId":2, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 3, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":4, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 5, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":6, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 7, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":8, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":9, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 10, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":11, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 12, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":13, "groupKeySetID": 1, "fabricIndex": 1}]' 1 0 + + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1686812343.318310][10080:10082] CHIP:DMG: WriteResponseMessage = + [1686812343.318313][10080:10082] CHIP:DMG: { + [1686812343.318316][10080:10082] CHIP:DMG: AttributeStatusIBs = + [1686812343.318321][10080:10082] CHIP:DMG: [ + [1686812343.318323][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318327][10080:10082] CHIP:DMG: { + [1686812343.318330][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318335][10080:10082] CHIP:DMG: { + [1686812343.318339][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318342][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318346][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318348][10080:10082] CHIP:DMG: } + [1686812343.318353][10080:10082] CHIP:DMG: + [1686812343.318356][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318360][10080:10082] CHIP:DMG: { + [1686812343.318363][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318366][10080:10082] CHIP:DMG: }, + [1686812343.318369][10080:10082] CHIP:DMG: + [1686812343.318372][10080:10082] CHIP:DMG: }, + [1686812343.318378][10080:10082] CHIP:DMG: + [1686812343.318381][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318383][10080:10082] CHIP:DMG: { + [1686812343.318385][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318390][10080:10082] CHIP:DMG: { + [1686812343.318394][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318397][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318401][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318404][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318408][10080:10082] CHIP:DMG: } + [1686812343.318413][10080:10082] CHIP:DMG: + [1686812343.318415][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318418][10080:10082] CHIP:DMG: { + [1686812343.318421][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318424][10080:10082] CHIP:DMG: }, + [1686812343.318427][10080:10082] CHIP:DMG: + [1686812343.318429][10080:10082] CHIP:DMG: }, + [1686812343.318436][10080:10082] CHIP:DMG: + [1686812343.318438][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318442][10080:10082] CHIP:DMG: { + [1686812343.318444][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318447][10080:10082] CHIP:DMG: { + [1686812343.318450][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318453][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318457][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318460][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318464][10080:10082] CHIP:DMG: } + [1686812343.318468][10080:10082] CHIP:DMG: + [1686812343.318471][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318476][10080:10082] CHIP:DMG: { + [1686812343.318478][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318482][10080:10082] CHIP:DMG: }, + [1686812343.318486][10080:10082] CHIP:DMG: + [1686812343.318490][10080:10082] CHIP:DMG: }, + [1686812343.318496][10080:10082] CHIP:DMG: + [1686812343.318498][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318501][10080:10082] CHIP:DMG: { + [1686812343.318504][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318507][10080:10082] CHIP:DMG: { + [1686812343.318509][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318512][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318515][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318518][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318521][10080:10082] CHIP:DMG: } + [1686812343.318525][10080:10082] CHIP:DMG: + [1686812343.318528][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318531][10080:10082] CHIP:DMG: { + [1686812343.318534][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318536][10080:10082] CHIP:DMG: }, + [1686812343.318539][10080:10082] CHIP:DMG: + [1686812343.318542][10080:10082] CHIP:DMG: }, + [1686812343.318549][10080:10082] CHIP:DMG: + [1686812343.318551][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318554][10080:10082] CHIP:DMG: { + [1686812343.318557][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318559][10080:10082] CHIP:DMG: { + [1686812343.318563][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318566][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318569][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318572][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318575][10080:10082] CHIP:DMG: } + [1686812343.318579][10080:10082] CHIP:DMG: + [1686812343.318581][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318584][10080:10082] CHIP:DMG: { + [1686812343.318587][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318591][10080:10082] CHIP:DMG: }, + [1686812343.318594][10080:10082] CHIP:DMG: + [1686812343.318597][10080:10082] CHIP:DMG: }, + [1686812343.318604][10080:10082] CHIP:DMG: + [1686812343.318606][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318609][10080:10082] CHIP:DMG: { + [1686812343.318611][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318616][10080:10082] CHIP:DMG: { + [1686812343.318618][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318623][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318627][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318629][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318632][10080:10082] CHIP:DMG: } + [1686812343.318637][10080:10082] CHIP:DMG: + [1686812343.318640][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318643][10080:10082] CHIP:DMG: { + [1686812343.318646][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318649][10080:10082] CHIP:DMG: }, + [1686812343.318652][10080:10082] CHIP:DMG: + [1686812343.318655][10080:10082] CHIP:DMG: }, + [1686812343.318662][10080:10082] CHIP:DMG: + [1686812343.318664][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318667][10080:10082] CHIP:DMG: { + [1686812343.318669][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318672][10080:10082] CHIP:DMG: { + [1686812343.318675][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318678][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318681][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318684][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318687][10080:10082] CHIP:DMG: } + [1686812343.318691][10080:10082] CHIP:DMG: + [1686812343.318694][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318697][10080:10082] CHIP:DMG: { + [1686812343.318702][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318704][10080:10082] CHIP:DMG: }, + [1686812343.318707][10080:10082] CHIP:DMG: + [1686812343.318710][10080:10082] CHIP:DMG: }, + [1686812343.318716][10080:10082] CHIP:DMG: + [1686812343.318718][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318721][10080:10082] CHIP:DMG: { + [1686812343.318724][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318728][10080:10082] CHIP:DMG: { + [1686812343.318732][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318742][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318745][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318748][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318751][10080:10082] CHIP:DMG: } + [1686812343.318755][10080:10082] CHIP:DMG: + [1686812343.318758][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318761][10080:10082] CHIP:DMG: { + [1686812343.318765][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318767][10080:10082] CHIP:DMG: }, + [1686812343.318772][10080:10082] CHIP:DMG: + [1686812343.318775][10080:10082] CHIP:DMG: }, + [1686812343.318781][10080:10082] CHIP:DMG: + [1686812343.318784][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318787][10080:10082] CHIP:DMG: { + [1686812343.318790][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318793][10080:10082] CHIP:DMG: { + [1686812343.318796][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318800][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318803][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318806][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318808][10080:10082] CHIP:DMG: } + [1686812343.318812][10080:10082] CHIP:DMG: + [1686812343.318814][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318816][10080:10082] CHIP:DMG: { + [1686812343.318819][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318821][10080:10082] CHIP:DMG: }, + [1686812343.318824][10080:10082] CHIP:DMG: + [1686812343.318829][10080:10082] CHIP:DMG: }, + [1686812343.318835][10080:10082] CHIP:DMG: + [1686812343.318837][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318841][10080:10082] CHIP:DMG: { + [1686812343.318843][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318846][10080:10082] CHIP:DMG: { + [1686812343.318849][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318852][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318855][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318859][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318861][10080:10082] CHIP:DMG: } + [1686812343.318866][10080:10082] CHIP:DMG: + [1686812343.318868][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318870][10080:10082] CHIP:DMG: { + [1686812343.318873][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318876][10080:10082] CHIP:DMG: }, + [1686812343.318881][10080:10082] CHIP:DMG: + [1686812343.318883][10080:10082] CHIP:DMG: }, + [1686812343.318890][10080:10082] CHIP:DMG: + [1686812343.318892][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318895][10080:10082] CHIP:DMG: { + [1686812343.318897][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318900][10080:10082] CHIP:DMG: { + [1686812343.318905][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318908][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318911][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318914][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318918][10080:10082] CHIP:DMG: } + [1686812343.318923][10080:10082] CHIP:DMG: + [1686812343.318926][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318928][10080:10082] CHIP:DMG: { + [1686812343.318931][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318934][10080:10082] CHIP:DMG: }, + [1686812343.318938][10080:10082] CHIP:DMG: + [1686812343.318940][10080:10082] CHIP:DMG: }, + [1686812343.318947][10080:10082] CHIP:DMG: + [1686812343.318950][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.318953][10080:10082] CHIP:DMG: { + [1686812343.318955][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.318958][10080:10082] CHIP:DMG: { + [1686812343.318961][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.318964][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.318968][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.318971][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.318974][10080:10082] CHIP:DMG: } + [1686812343.318978][10080:10082] CHIP:DMG: + [1686812343.318981][10080:10082] CHIP:DMG: StatusIB = + [1686812343.318984][10080:10082] CHIP:DMG: { + [1686812343.318987][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.318989][10080:10082] CHIP:DMG: }, + [1686812343.318993][10080:10082] CHIP:DMG: + [1686812343.318995][10080:10082] CHIP:DMG: }, + [1686812343.319001][10080:10082] CHIP:DMG: + [1686812343.319004][10080:10082] CHIP:DMG: AttributeStatusIB = + [1686812343.319007][10080:10082] CHIP:DMG: { + [1686812343.319010][10080:10082] CHIP:DMG: AttributePathIB = + [1686812343.319014][10080:10082] CHIP:DMG: { + [1686812343.319017][10080:10082] CHIP:DMG: Endpoint = 0x0, + [1686812343.319020][10080:10082] CHIP:DMG: Cluster = 0x3f, + [1686812343.319023][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, + [1686812343.319026][10080:10082] CHIP:DMG: ListIndex = Null, + [1686812343.319028][10080:10082] CHIP:DMG: } + [1686812343.319032][10080:10082] CHIP:DMG: + [1686812343.319035][10080:10082] CHIP:DMG: StatusIB = + [1686812343.319040][10080:10082] CHIP:DMG: { + [1686812343.319043][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), + [1686812343.319046][10080:10082] CHIP:DMG: }, + [1686812343.319049][10080:10082] CHIP:DMG: + [1686812343.319052][10080:10082] CHIP:DMG: }, + [1686812343.319057][10080:10082] CHIP:DMG: + [1686812343.319059][10080:10082] CHIP:DMG: ], + [1686812343.319084][10080:10082] CHIP:DMG: + [1686812343.319086][10080:10082] CHIP:DMG: InteractionModelRevision = 1 + [1686812343.319088][10080:10082] CHIP:DMG: } + disabled: true - GroupKeySetId is 1 + - label: + "Step 1c: TH cleans up the groups by sending the RemoveAllGroups + command to the DUT on PIXIT.G.ENDPOINT" + verification: | + ./chip-tool groups remove-all-groups 1 0 - EpochKey0 is epoch_key_set0_epoch0 + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - GroupKeySecurityPolicy = TrustFirst (1) + [1651224377.831704][2989:2994] CHIP:DMG: StatusIB = + [1651224377.831757][2989:2994] CHIP:DMG: { + [1651224377.831812][2989:2994] CHIP:DMG: status = 0x00 (SUCCESS), + [1651224377.831866][2989:2994] CHIP:DMG: }, + disabled: true - GroupKeyMulticastPolicy = PerGroupID (0) + - label: + "Step 1d: TH sends AddGroup command to DUT on PIXIT.G.ENDPOINT as + unicast with the following fields : GroupID as 0x0002 GroupName as Gp2" + PICS: G.S.C00.Rsp && G.S.C00.Tx + verification: | + ./chip-tool groups add-group 0x0002 Gp2 1 0 - EpochStartTime0 = 0 + Verify the AddGroupResponse with following field: + Status is SUCCESS + GroupID is 0x0002 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - TH binds GroupId(0x0002 to (maxgroups+1)) with GroupKeySetID in the - GroupKeyMap attribute list on GroupKeyManagement cluster with the - values provided in the above steps + [1653552285.195099][2464:2469] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 + [1653552285.197783][2464:2469] CHIP:TOO: AddGroupResponse: { + [1653552285.197849][2464:2469] CHIP:TOO: status: 0 + [1653552285.197877][2464:2469] CHIP:TOO: groupId: 2 + [1653552285.197933][2464:2469] CHIP:TOO: } + disabled: true - TH binds GroupId(0x0006 to (maxgroups+1)) with GroupKeySetID in the - GroupKeyMap attribute list on GroupKeyManagement cluster with the - values provided in the above steps + - label: + "Step 2a: TH reads GroupTable attribute from the GroupKeyManagement + cluster from DUT on EP0" + PICS: GRPKEY.S.A0001 verification: | - Execute the following command in TH to generate the pre-condition step : + ./chip-tool groupkeymanagement read group-table 1 0 - ./chip-tool groupkeymanagement key-set-write '{"groupKeySetID": 1, - "groupKeySecurityPolicy": 1, "epochKey0": - "d0d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime0": 2220000,"epochKey1": - "d1d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime1": 2220001,"epochKey2": - "d2d1d2d3d4d5d6d7d8d9dadbdcdddedf", "epochStartTime2": 2220002 }' 1 0 + Verify the GroupTable with the following entries + GroupID is 0x0002 + If G.S.F00(GN) is true then GroupName is Gp2 , Otherwise empty on TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - Verify the "status is success" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + [1674551108.507399][20730:20732] CHIP:DMG: } + [1674551108.507695][20730:20732] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349260 + [1674551108.507745][20730:20732] CHIP:TOO: GroupTable: 1 entries + [1674551108.507824][20730:20732] CHIP:TOO: [1]: { + [1674551108.507857][20730:20732] CHIP:TOO: GroupId: 2 + [1674551108.507878][20730:20732] CHIP:TOO: Endpoints: 1 entries + [1674551108.507901][20730:20732] CHIP:TOO: [1]: 0 + [1674551108.507920][20730:20732] CHIP:TOO: GroupName: Gp2 + [1674551108.507932][20730:20732] CHIP:TOO: FabricIndex: 1 + [1674551108.507942][20730:20732] CHIP:TOO: } + disabled: true - [1658316948.574526][4039:4044] CHIP:DMG: StatusIB = - [1658316948.574561][4039:4044] CHIP:DMG: { - [1658316948.574597][4039:4044] CHIP:DMG: status = 0x00 (SUCCESS), - [1658316948.574632][4039:4044] CHIP:DMG: }, + - label: + "Step 3: TH sends AddGroup command to DUT on PIXIT.G.ENDPOINT as + unicast with the following fields : GroupID as 0x0003 GroupName as Gp3" + PICS: G.S.C00.Rsp && G.S.C00.Tx + verification: | + ./chip-tool groups add-group 0x0003 Gp3 1 0 + + Verify the AddGroupResponse with following field: + Status is SUCCESS + GroupID is 0x0003 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1674551134.645686][20738:20740] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0000 + [1674551134.645698][20738:20740] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 + [1674551134.645709][20738:20740] CHIP:TOO: AddGroupResponse: { + [1674551134.645714][20738:20740] CHIP:TOO: status: 0 + [1674551134.645717][20738:20740] CHIP:TOO: groupID: 3 + [1674551134.645719][20738:20740] CHIP:TOO: } + disabled: true + + - label: + "Step 4a: TH reads GroupTable attribute from the GroupKeyManagement + cluster from DUT on EP0" + PICS: GRPKEY.S.A0001 + verification: | + ./chip-tool groupkeymanagement read group-table 1 0 - Before adding the Groups by AddGroup execute below command - - ./chip-tool groupkeymanagement write group-key-map '[{"groupId":2, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 3, "groupKeySetID": 1,"fabricIndex": 1} ]' 1 0 - - Verify the "status is success" on the TH Log and below is the sample log provided for the raspi platform: - - [1662655615.539611][229172:229177] CHIP:DMG: AttributeStatusIB = - [1662655615.539623][229172:229177] CHIP:DMG: { - [1662655615.539633][229172:229177] CHIP:DMG: AttributePathIB = - [1662655615.539642][229172:229177] CHIP:DMG: { - [1662655615.539648][229172:229177] CHIP:DMG: Endpoint = 0x0, - [1662655615.539664][229172:229177] CHIP:DMG: Cluster = 0x3f, - [1662655615.539677][229172:229177] CHIP:DMG: Attribute = 0x0000_0000, - [1662655615.539688][229172:229177] CHIP:DMG: ListIndex = Null, - [1662655615.539693][229172:229177] CHIP:DMG: } - [1662655615.539707][229172:229177] CHIP:DMG: - [1662655615.539715][229172:229177] CHIP:DMG: StatusIB = - [1662655615.539729][229172:229177] CHIP:DMG: { - [1662655615.539737][229172:229177] CHIP:DMG: status = 0x00 (SUCCESS), - [1662655615.539743][229172:229177] CHIP:DMG: }, - [1662655615.539753][229172:229177] CHIP:DMG: - [1662655615.539766][229172:229177] CHIP:DMG: }, - [1662655615.539781][229172:229177] CHIP:DMG: - [1662655615.539792][229172:229177] CHIP:DMG: AttributeStatusIB = - [1662655615.539802][229172:229177] CHIP:DMG: { - [1662655615.539810][229172:229177] CHIP:DMG: AttributePathIB = - [1662655615.539816][229172:229177] CHIP:DMG: { - [1662655615.539834][229172:229177] CHIP:DMG: Endpoint = 0x0, - [1662655615.539844][229172:229177] CHIP:DMG: Cluster = 0x3f, - [1662655615.539851][229172:229177] CHIP:DMG: Attribute = 0x0000_0000, - [1662655615.539858][229172:229177] CHIP:DMG: ListIndex = Null, - [1662655615.539864][229172:229177] CHIP:DMG: } - [1662655615.539877][229172:229177] CHIP:DMG: - [1662655615.539885][229172:229177] CHIP:DMG: StatusIB = - [1662655615.539896][229172:229177] CHIP:DMG: { - [1662655615.539904][229172:229177] CHIP:DMG: status = 0x00 (SUCCESS), - [1662655615.539910][229172:229177] CHIP:DMG: }, - - Before adding the Groups(0x0006 to Maxgroup) by AddGroupIfIdentifying command execute this command + Verify the GroupTable with following entries + GroupID as 0x0003 + If G.S.F00(GN) is true then GroupName as Gp3, Otherwise empty on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + [1674551165.827036][20746:20748] CHIP:DMG: } + [1674551165.827146][20746:20748] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349260 + [1674551165.827163][20746:20748] CHIP:TOO: GroupTable: 2 entries + [1674551165.827176][20746:20748] CHIP:TOO: [1]: { + [1674551165.827182][20746:20748] CHIP:TOO: GroupId: 2 + [1674551165.827186][20746:20748] CHIP:TOO: Endpoints: 1 entries + [1674551165.827191][20746:20748] CHIP:TOO: [1]: 0 + [1674551165.827194][20746:20748] CHIP:TOO: GroupName: Gp2 + [1674551165.827197][20746:20748] CHIP:TOO: FabricIndex: 1 + [1674551165.827200][20746:20748] CHIP:TOO: } + [1674551165.827205][20746:20748] CHIP:TOO: [2]: { + [1674551165.827208][20746:20748] CHIP:TOO: GroupId: 3 + [1674551165.827211][20746:20748] CHIP:TOO: Endpoints: 1 entries + [1674551165.827214][20746:20748] CHIP:TOO: [1]: 0 + [1674551165.827217][20746:20748] CHIP:TOO: GroupName: Gp3 + [1674551165.827219][20746:20748] CHIP:TOO: FabricIndex: 1 + [1674551165.827222][20746:20748] CHIP:TOO: } + disabled: true + + - label: + "Step 5: TH sends GetGroupMembership command to DUT on + PIXIT.G.ENDPOINT with the following fields : GroupList as NULL" + PICS: G.S.C02.Rsp && G.S.C02.Tx + verification: | + ./chip-tool groups get-group-membership [] 1 0 + + Verify the GetGroupMembershipResponse with following fields: + Capacity is in the range of 0 to 254 or null + GroupList is in the range of 0x0001 - 0xffff and contains a group ID's which all are associated with endpoint 0 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1653552493.052711][2501:2506] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0002 + [1653552493.052792][2501:2506] CHIP:TOO: GetGroupMembershipResponse: { + [1653552493.052819][2501:2506] CHIP:TOO: capacity: null + [1653552493.052870][2501:2506] CHIP:TOO: groupList: 2 entries + [1653552493.052922][2501:2506] CHIP:TOO: [1]: 2 + [1653552493.052950][2501:2506] CHIP:TOO: [2]: 3 + [1653552493.052978][2501:2506] CHIP:TOO: } + disabled: true + + - label: + "Step 6: TH sends GetGroupMembership command to DUT on + PIXIT.G.ENDPOINT with the following fields : GroupList as [0x0002]" + PICS: G.S.C02.Rsp && G.S.C02.Tx + verification: | + ./chip-tool groups get-group-membership [2] 1 0 + + Verify the GetGroupMembershipResponse with following fields: + Capacity is in the range of 0 to 254 or null + GroupList contains one group as 0x0002 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1653294426.515523][3638:3643] CHIP:TOO: GetGroupMembershipResponse: { + [1653294426.515571][3638:3643] CHIP:TOO: capacity: null + [1653294426.515649][3638:3643] CHIP:TOO: groupList: 1 entries + [1653294426.515737][3638:3643] CHIP:TOO: [1]: 2 + [1653294426.515916][3638:3643] CHIP:TOO: } + disabled: true + + - label: + "Step 7: TH sends GetGroupMembership command to DUT on + PIXIT.G.ENDPOINT as unicast with the following fields : GroupList as + [0x0002, 0x0003]" + PICS: G.S.C02.Rsp && G.S.C02.Tx + verification: | + ./chip-tool groups get-group-membership [2,3] 1 0 + + Verify the GetGroupMembershipResponse with following fields: + Capacity is in the range of 0 to 254 or null + GroupList contains two group id's (0x0002, 0x0003) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1653294490.030740][3646:3651] CHIP:TOO: GetGroupMembershipResponse: { + [1653294490.030775][3646:3651] CHIP:TOO: capacity: null + [1653294490.030838][3646:3651] CHIP:TOO: groupList: 2 entries + [1653294490.030907][3646:3651] CHIP:TOO: [1]: 2 + [1653294490.030943][3646:3651] CHIP:TOO: [2]: 3 + [1653294490.030979][3646:3651] CHIP:TOO: } + disabled: true + + - label: + "Step 8: TH sends RemoveAllGroups command to DUT on PIXIT.G.ENDPOINT + as unicast method" + PICS: G.S.C04.Rsp + verification: | + ./chip-tool groups remove-all-groups 1 0 + + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1651224377.831704][2989:2994] CHIP:DMG: StatusIB = + [1651224377.831757][2989:2994] CHIP:DMG: { + [1651224377.831812][2989:2994] CHIP:DMG: status = 0x00 (SUCCESS), + [1651224377.831866][2989:2994] CHIP:DMG: }, + disabled: true + + - label: + "Step 9a: TH writes the GroupKeyMap attribute in the + GroupKeyManagement cluster of DUT on EP0 to binds GroupId(0x0006 to + 0x0006 + maxgroups-1 ) with GroupKeySetID 1" + verification: | ./chip-tool groupkeymanagement write group-key-map '[{"groupId":6, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 7, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":8, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 9, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":10, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 11, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":12, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":13, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 14, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":15, "groupKeySetID": 1, "fabricIndex": 1},{"groupId": 16, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":17, "groupKeySetID": 1, "fabricIndex": 1}]' 1 0 - Verify the "status is success" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882354.197161][7723:7725] CHIP:DMG: WriteResponseMessage = [1683882354.197166][7723:7725] CHIP:DMG: { @@ -149,9 +508,9 @@ tests: [1683882354.197233][7723:7725] CHIP:DMG: { [1683882354.197237][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197242][7723:7725] CHIP:DMG: }, - [1683882354.197247][7723:7725] CHIP:DMG: + [1683882354.197247][7723:7725] CHIP:DMG: [1683882354.197250][7723:7725] CHIP:DMG: }, - [1683882354.197259][7723:7725] CHIP:DMG: + [1683882354.197259][7723:7725] CHIP:DMG: [1683882354.197263][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197268][7723:7725] CHIP:DMG: { [1683882354.197271][7723:7725] CHIP:DMG: AttributePathIB = @@ -161,14 +520,14 @@ tests: [1683882354.197290][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197295][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197299][7723:7725] CHIP:DMG: } - [1683882354.197306][7723:7725] CHIP:DMG: + [1683882354.197306][7723:7725] CHIP:DMG: [1683882354.197310][7723:7725] CHIP:DMG: StatusIB = [1683882354.197315][7723:7725] CHIP:DMG: { [1683882354.197319][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197324][7723:7725] CHIP:DMG: }, - [1683882354.197328][7723:7725] CHIP:DMG: + [1683882354.197328][7723:7725] CHIP:DMG: [1683882354.197332][7723:7725] CHIP:DMG: }, - [1683882354.197343][7723:7725] CHIP:DMG: + [1683882354.197343][7723:7725] CHIP:DMG: [1683882354.197347][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197351][7723:7725] CHIP:DMG: { [1683882354.197353][7723:7725] CHIP:DMG: AttributePathIB = @@ -178,14 +537,14 @@ tests: [1683882354.197364][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197366][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197368][7723:7725] CHIP:DMG: } - [1683882354.197372][7723:7725] CHIP:DMG: + [1683882354.197372][7723:7725] CHIP:DMG: [1683882354.197374][7723:7725] CHIP:DMG: StatusIB = [1683882354.197377][7723:7725] CHIP:DMG: { [1683882354.197379][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197381][7723:7725] CHIP:DMG: }, - [1683882354.197384][7723:7725] CHIP:DMG: + [1683882354.197384][7723:7725] CHIP:DMG: [1683882354.197385][7723:7725] CHIP:DMG: }, - [1683882354.197391][7723:7725] CHIP:DMG: + [1683882354.197391][7723:7725] CHIP:DMG: [1683882354.197393][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197395][7723:7725] CHIP:DMG: { [1683882354.197398][7723:7725] CHIP:DMG: AttributePathIB = @@ -195,14 +554,14 @@ tests: [1683882354.197417][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197421][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197426][7723:7725] CHIP:DMG: } - [1683882354.197432][7723:7725] CHIP:DMG: + [1683882354.197432][7723:7725] CHIP:DMG: [1683882354.197437][7723:7725] CHIP:DMG: StatusIB = [1683882354.197441][7723:7725] CHIP:DMG: { [1683882354.197445][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197450][7723:7725] CHIP:DMG: }, - [1683882354.197454][7723:7725] CHIP:DMG: + [1683882354.197454][7723:7725] CHIP:DMG: [1683882354.197458][7723:7725] CHIP:DMG: }, - [1683882354.197467][7723:7725] CHIP:DMG: + [1683882354.197467][7723:7725] CHIP:DMG: [1683882354.197471][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197475][7723:7725] CHIP:DMG: { [1683882354.197479][7723:7725] CHIP:DMG: AttributePathIB = @@ -212,14 +571,14 @@ tests: [1683882354.197497][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197502][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197506][7723:7725] CHIP:DMG: } - [1683882354.197512][7723:7725] CHIP:DMG: + [1683882354.197512][7723:7725] CHIP:DMG: [1683882354.197516][7723:7725] CHIP:DMG: StatusIB = [1683882354.197521][7723:7725] CHIP:DMG: { [1683882354.197525][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197529][7723:7725] CHIP:DMG: }, - [1683882354.197534][7723:7725] CHIP:DMG: + [1683882354.197534][7723:7725] CHIP:DMG: [1683882354.197538][7723:7725] CHIP:DMG: }, - [1683882354.197547][7723:7725] CHIP:DMG: + [1683882354.197547][7723:7725] CHIP:DMG: [1683882354.197551][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197555][7723:7725] CHIP:DMG: { [1683882354.197559][7723:7725] CHIP:DMG: AttributePathIB = @@ -229,14 +588,14 @@ tests: [1683882354.197578][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197582][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197586][7723:7725] CHIP:DMG: } - [1683882354.197593][7723:7725] CHIP:DMG: + [1683882354.197593][7723:7725] CHIP:DMG: [1683882354.197597][7723:7725] CHIP:DMG: StatusIB = [1683882354.197602][7723:7725] CHIP:DMG: { [1683882354.197606][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197610][7723:7725] CHIP:DMG: }, - [1683882354.197615][7723:7725] CHIP:DMG: + [1683882354.197615][7723:7725] CHIP:DMG: [1683882354.197618][7723:7725] CHIP:DMG: }, - [1683882354.197627][7723:7725] CHIP:DMG: + [1683882354.197627][7723:7725] CHIP:DMG: [1683882354.197631][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197635][7723:7725] CHIP:DMG: { [1683882354.197640][7723:7725] CHIP:DMG: AttributePathIB = @@ -246,14 +605,14 @@ tests: [1683882354.197658][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197663][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197667][7723:7725] CHIP:DMG: } - [1683882354.197673][7723:7725] CHIP:DMG: + [1683882354.197673][7723:7725] CHIP:DMG: [1683882354.197677][7723:7725] CHIP:DMG: StatusIB = [1683882354.197682][7723:7725] CHIP:DMG: { [1683882354.197687][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197690][7723:7725] CHIP:DMG: }, - [1683882354.197695][7723:7725] CHIP:DMG: + [1683882354.197695][7723:7725] CHIP:DMG: [1683882354.197699][7723:7725] CHIP:DMG: }, - [1683882354.197708][7723:7725] CHIP:DMG: + [1683882354.197708][7723:7725] CHIP:DMG: [1683882354.197712][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197716][7723:7725] CHIP:DMG: { [1683882354.197720][7723:7725] CHIP:DMG: AttributePathIB = @@ -263,14 +622,14 @@ tests: [1683882354.197738][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197743][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197747][7723:7725] CHIP:DMG: } - [1683882354.197753][7723:7725] CHIP:DMG: + [1683882354.197753][7723:7725] CHIP:DMG: [1683882354.197757][7723:7725] CHIP:DMG: StatusIB = [1683882354.197762][7723:7725] CHIP:DMG: { [1683882354.197767][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197771][7723:7725] CHIP:DMG: }, - [1683882354.197776][7723:7725] CHIP:DMG: + [1683882354.197776][7723:7725] CHIP:DMG: [1683882354.197779][7723:7725] CHIP:DMG: }, - [1683882354.197789][7723:7725] CHIP:DMG: + [1683882354.197789][7723:7725] CHIP:DMG: [1683882354.197792][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197797][7723:7725] CHIP:DMG: { [1683882354.197800][7723:7725] CHIP:DMG: AttributePathIB = @@ -280,14 +639,14 @@ tests: [1683882354.197819][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197824][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197828][7723:7725] CHIP:DMG: } - [1683882354.197835][7723:7725] CHIP:DMG: + [1683882354.197835][7723:7725] CHIP:DMG: [1683882354.197839][7723:7725] CHIP:DMG: StatusIB = [1683882354.197843][7723:7725] CHIP:DMG: { [1683882354.197848][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197852][7723:7725] CHIP:DMG: }, - [1683882354.197857][7723:7725] CHIP:DMG: + [1683882354.197857][7723:7725] CHIP:DMG: [1683882354.197861][7723:7725] CHIP:DMG: }, - [1683882354.197870][7723:7725] CHIP:DMG: + [1683882354.197870][7723:7725] CHIP:DMG: [1683882354.197874][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197878][7723:7725] CHIP:DMG: { [1683882354.197882][7723:7725] CHIP:DMG: AttributePathIB = @@ -297,14 +656,14 @@ tests: [1683882354.197900][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197905][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197909][7723:7725] CHIP:DMG: } - [1683882354.197917][7723:7725] CHIP:DMG: + [1683882354.197917][7723:7725] CHIP:DMG: [1683882354.197921][7723:7725] CHIP:DMG: StatusIB = [1683882354.197925][7723:7725] CHIP:DMG: { [1683882354.197930][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197934][7723:7725] CHIP:DMG: }, - [1683882354.197939][7723:7725] CHIP:DMG: + [1683882354.197939][7723:7725] CHIP:DMG: [1683882354.197943][7723:7725] CHIP:DMG: }, - [1683882354.197952][7723:7725] CHIP:DMG: + [1683882354.197952][7723:7725] CHIP:DMG: [1683882354.197956][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197960][7723:7725] CHIP:DMG: { [1683882354.197963][7723:7725] CHIP:DMG: AttributePathIB = @@ -314,14 +673,14 @@ tests: [1683882354.197981][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197984][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197989][7723:7725] CHIP:DMG: } - [1683882354.197995][7723:7725] CHIP:DMG: + [1683882354.197995][7723:7725] CHIP:DMG: [1683882354.197998][7723:7725] CHIP:DMG: StatusIB = [1683882354.198002][7723:7725] CHIP:DMG: { [1683882354.198007][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.198011][7723:7725] CHIP:DMG: }, - [1683882354.198015][7723:7725] CHIP:DMG: + [1683882354.198015][7723:7725] CHIP:DMG: [1683882354.198019][7723:7725] CHIP:DMG: }, - [1683882354.198028][7723:7725] CHIP:DMG: + [1683882354.198028][7723:7725] CHIP:DMG: [1683882354.198032][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.198036][7723:7725] CHIP:DMG: { [1683882354.198040][7723:7725] CHIP:DMG: AttributePathIB = @@ -331,14 +690,14 @@ tests: [1683882354.198058][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.198063][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.198067][7723:7725] CHIP:DMG: } - [1683882354.198073][7723:7725] CHIP:DMG: + [1683882354.198073][7723:7725] CHIP:DMG: [1683882354.198077][7723:7725] CHIP:DMG: StatusIB = [1683882354.198081][7723:7725] CHIP:DMG: { [1683882354.198086][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.198090][7723:7725] CHIP:DMG: }, - [1683882354.198094][7723:7725] CHIP:DMG: + [1683882354.198094][7723:7725] CHIP:DMG: [1683882354.198098][7723:7725] CHIP:DMG: }, - [1683882354.198107][7723:7725] CHIP:DMG: + [1683882354.198107][7723:7725] CHIP:DMG: [1683882354.198111][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.198115][7723:7725] CHIP:DMG: { [1683882354.198119][7723:7725] CHIP:DMG: AttributePathIB = @@ -348,183 +707,28 @@ tests: [1683882354.198137][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.198142][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.198146][7723:7725] CHIP:DMG: } - [1683882354.198152][7723:7725] CHIP:DMG: + [1683882354.198152][7723:7725] CHIP:DMG: [1683882354.198156][7723:7725] CHIP:DMG: StatusIB = [1683882354.198160][7723:7725] CHIP:DMG: { [1683882354.198165][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.198169][7723:7725] CHIP:DMG: }, - [1683882354.198174][7723:7725] CHIP:DMG: + [1683882354.198174][7723:7725] CHIP:DMG: [1683882354.198178][7723:7725] CHIP:DMG: }, - [1683882354.198184][7723:7725] CHIP:DMG: + [1683882354.198184][7723:7725] CHIP:DMG: [1683882354.198187][7723:7725] CHIP:DMG: ], - [1683882354.198223][7723:7725] CHIP:DMG: + [1683882354.198223][7723:7725] CHIP:DMG: [1683882354.198227][7723:7725] CHIP:DMG: InteractionModelRevision = 1 [1683882354.198230][7723:7725] CHIP:DMG: } disabled: true - - label: "DUT supports Identify cluster" - verification: | - - disabled: true - - label: - "TH sends AddGroup command to DUT as unicast with the following fields - : GroupID as 0x0002 GroupName as Gp2" - PICS: G.S.C00.Rsp && G.S.C00.Tx - verification: | - ./chip-tool groups add-group 0x0002 gp2 1 0 - - Verify the "status is SUCCESS and groupid is 0x0002" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1653552285.195099][2464:2469] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 - [1653552285.197783][2464:2469] CHIP:TOO: AddGroupResponse: { - [1653552285.197849][2464:2469] CHIP:TOO: status: 0 - [1653552285.197877][2464:2469] CHIP:TOO: groupId: 2 - [1653552285.197933][2464:2469] CHIP:TOO: } - disabled: true - - - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster" - PICS: GRPKEY.S.A0001 - verification: | - ./chip-tool groupkeymanagement read group-table 1 0 - - Verify the "grouptable entries" , GroupID as 0x0002, GroupName as Gp2 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1674551108.507399][20730:20732] CHIP:DMG: } - [1674551108.507695][20730:20732] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349260 - [1674551108.507745][20730:20732] CHIP:TOO: GroupTable: 1 entries - [1674551108.507824][20730:20732] CHIP:TOO: [1]: { - [1674551108.507857][20730:20732] CHIP:TOO: GroupId: 2 - [1674551108.507878][20730:20732] CHIP:TOO: Endpoints: 1 entries - [1674551108.507901][20730:20732] CHIP:TOO: [1]: 0 - [1674551108.507920][20730:20732] CHIP:TOO: GroupName: gp2 - [1674551108.507932][20730:20732] CHIP:TOO: FabricIndex: 1 - [1674551108.507942][20730:20732] CHIP:TOO: } - disabled: true - - - label: - "If maxgroups > 1 TH sends AddGroup command to DUT as unicast with the - following fields : GroupID as 0x0003 GroupName as Gp3" - PICS: G.S.C00.Rsp && G.S.C00.Tx - verification: | - ./chip-tool groups add-group 0x0003 gp3 1 0 - - Verify the "status is SUCCESS and GroupID is 0x0003" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1674551134.645686][20738:20740] CHIP:DMG: Received Command Response Data, Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0000 - [1674551134.645698][20738:20740] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0000 - [1674551134.645709][20738:20740] CHIP:TOO: AddGroupResponse: { - [1674551134.645714][20738:20740] CHIP:TOO: status: 0 - [1674551134.645717][20738:20740] CHIP:TOO: groupID: 3 - [1674551134.645719][20738:20740] CHIP:TOO: } - disabled: true - - - label: - "If maxgroups > 1, TH reads GroupTable attribute from the - GroupKeyManagement cluster" - PICS: GRPKEY.S.A0001 - verification: | - ./chip-tool groupkeymanagement read group-table 1 0 - - Verify the "grouptable entries" , GroupId as 0x0003 and GroupName as Gp3 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1674551165.827036][20746:20748] CHIP:DMG: } - [1674551165.827146][20746:20748] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349260 - [1674551165.827163][20746:20748] CHIP:TOO: GroupTable: 2 entries - [1674551165.827176][20746:20748] CHIP:TOO: [1]: { - [1674551165.827182][20746:20748] CHIP:TOO: GroupId: 2 - [1674551165.827186][20746:20748] CHIP:TOO: Endpoints: 1 entries - [1674551165.827191][20746:20748] CHIP:TOO: [1]: 0 - [1674551165.827194][20746:20748] CHIP:TOO: GroupName: gp2 - [1674551165.827197][20746:20748] CHIP:TOO: FabricIndex: 1 - [1674551165.827200][20746:20748] CHIP:TOO: } - [1674551165.827205][20746:20748] CHIP:TOO: [2]: { - [1674551165.827208][20746:20748] CHIP:TOO: GroupId: 3 - [1674551165.827211][20746:20748] CHIP:TOO: Endpoints: 1 entries - [1674551165.827214][20746:20748] CHIP:TOO: [1]: 0 - [1674551165.827217][20746:20748] CHIP:TOO: GroupName: gp3 - [1674551165.827219][20746:20748] CHIP:TOO: FabricIndex: 1 - [1674551165.827222][20746:20748] CHIP:TOO: } - disabled: true - - - label: - "TH sends GetGroupMembership command to DUT on PIXIT.G.ENDPOINT with - the following fields : GroupList as NULL" - PICS: G.S.C02.Rsp && G.S.C02.Tx - verification: | - ./chip-tool groups get-group-membership [] 1 0 - - Verify the "grouplist" entries are in the inclusive range of 0x0001 - 0xffff and Capacity is in the inclusive range of 0 to 254 or null - on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - - [1653552493.052711][2501:2506] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0004 Command 0x0000_0002 - [1653552493.052792][2501:2506] CHIP:TOO: GetGroupMembershipResponse: { - [1653552493.052819][2501:2506] CHIP:TOO: capacity: null - [1653552493.052870][2501:2506] CHIP:TOO: groupList: 2 entries - [1653552493.052922][2501:2506] CHIP:TOO: [1]: 2 - [1653552493.052950][2501:2506] CHIP:TOO: [2]: 3 - [1653552493.052978][2501:2506] CHIP:TOO: } - disabled: true - - - label: - "TH sends GetGroupMembership command to DUT on PIXIT.G.ENDPOINT with - the following fields : GroupList as [0x0002]" - PICS: G.S.C02.Rsp && G.S.C02.Tx - verification: | - ./chip-tool groups get-group-membership [0002] 1 0 - - Verify the "grouplist" entry has one item 0x0002 and Capacity is in the inclusive range of 0 to 254 or null - on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1653294426.515523][3638:3643] CHIP:TOO: GetGroupMembershipResponse: { - [1653294426.515571][3638:3643] CHIP:TOO: capacity: null - [1653294426.515649][3638:3643] CHIP:TOO: groupList: 1 entries - [1653294426.515737][3638:3643] CHIP:TOO: [1]: 2 - [1653294426.515916][3638:3643] CHIP:TOO: } - disabled: true - - - label: - "if maxgroups > 1, TH sends GetGroupMembership command to DUT on - PIXIT.G.ENDPOINT as unicast with the following fields : GroupList as - [0x0002, 0x0003]" - PICS: G.S.C02.Rsp && G.S.C02.Tx - verification: | - ./chip-tool groups get-group-membership [0002,0003] 1 0 - - Verify the "grouplist" entries has 2 items 0x0002 , 0x0003 and Capacity is in the inclusive range of 0 to 254 or null - on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1653294490.030740][3646:3651] CHIP:TOO: GetGroupMembershipResponse: { - [1653294490.030775][3646:3651] CHIP:TOO: capacity: null - [1653294490.030838][3646:3651] CHIP:TOO: groupList: 2 entries - [1653294490.030907][3646:3651] CHIP:TOO: [1]: 2 - [1653294490.030943][3646:3651] CHIP:TOO: [2]: 3 - [1653294490.030979][3646:3651] CHIP:TOO: } - disabled: true - - - label: "TH sends RemoveAllGroups command to DUT as unicast method" - PICS: G.S.C04.Rsp - verification: | - ./chip-tool groups remove-all-groups 1 0 - - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1651224377.831704][2989:2994] CHIP:DMG: StatusIB = - [1651224377.831757][2989:2994] CHIP:DMG: { - [1651224377.831812][2989:2994] CHIP:DMG: status = 0x00 (SUCCESS), - [1651224377.831866][2989:2994] CHIP:DMG: }, - [1651224377.832439][2989:2994] CHIP:DMG: Received Command Response Status for Endpoint=0 Cluster=0x0000_0004 Command=0x0000_0004 Status=0x0 - disabled: true - - - label: - "TH sends Identify command to DUT with the IdentifyTime as (0x0078) - 120 seconds" + "Step 9b: TH sends Identify command to DUT on PIXIT.I.ENDPOINT with + the IdentifyTime as (0x0078) 120 seconds" PICS: I.S.C00.Rsp verification: | ./chip-tool identify identify 0x0078 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1658306666.592846][3044:3049] CHIP:DMG: StatusIB = [1658306666.592889][3044:3049] CHIP:DMG: { @@ -532,12 +736,12 @@ tests: [1658306666.593007][3044:3049] CHIP:DMG: }, disabled: true - - label: "TH reads immediately IdentifyTime attribute from DUT" + - label: "Step 9c: TH reads immediately IdentifyTime attribute from DUT" PICS: I.S.A0000 verification: | ./chip-tool identify read identify-time 1 0 - Verify the "identifytime" attribute has a value approximately equal to 0x0078(120) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the identifyTime attribute value is equal to 0x0078(120) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1674551847.513881][20976:20978] CHIP:DMG: } [1674551847.514009][20976:20978] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 216654730 @@ -545,15 +749,14 @@ tests: disabled: true - label: - "If maxgroups>0, TH sends AddGroupIfIdentifying command to DUT as - unicast method with the following fields: GroupID as 0x0006 GroupName - as Gp6" + "Step 10: TH sends AddGroupIfIdentifying command to DUT on + PIXIT.G.ENDPOINT as unicast method with the following fields: GroupID + as 0x0006 GroupName as Gp6" PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0006 gp6 1 0 - - Verify the "status is SUCCESS" and GroupId is 0x0006 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + ./chip-tool groups add-group-if-identifying 0x0006 Gp6 1 0 + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1653552667.307794][2571:2576] CHIP:DMG: StatusIB = [1653552667.307831][2571:2576] CHIP:DMG: { @@ -561,12 +764,16 @@ tests: [1653552667.307922][2571:2576] CHIP:DMG: }, disabled: true - - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster" + - label: + "Step 11a: TH reads GroupTable attribute from the GroupKeyManagement + cluster of DUT on EP0" PICS: GRPKEY.S.A0001 verification: | ./chip-tool groupkeymanagement read group-table 1 0 - Verify "group table" entry has groupid 6, GroupName Gp6 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the GroupTable with following entries: + GroupID as 0x0006 + If G.S.F00(GN) is true then GroupName is Gp6, Otherwise empty on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1674551848.294776][20985:20987] CHIP:DMG: } [1674551848.294875][20985:20987] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349287 @@ -575,22 +782,21 @@ tests: [1674551848.294929][20985:20987] CHIP:TOO: GroupId: 6 [1674551848.294935][20985:20987] CHIP:TOO: Endpoints: 1 entries [1674551848.294941][20985:20987] CHIP:TOO: [1]: 0 - [1674551848.294945][20985:20987] CHIP:TOO: GroupName: gp6 + [1674551848.294945][20985:20987] CHIP:TOO: GroupName: Gp6 [1674551848.294948][20985:20987] CHIP:TOO: FabricIndex: 1 [1674551848.294951][20985:20987] CHIP:TOO: } [1674551848.294982][20985:20987] CHIP:EM: <<< [E:163 disabled: true - label: - "If maxgroups>1, TH sends AddGroupIfIdentifying command to DUT as - unicast method with the following fields: GroupID as 0x0007 GroupName - as Gp7" + "Step 12: TH sends AddGroupIfIdentifying command to DUT on + PIXIT.G.ENDPOINT as unicast method with the following fields: GroupID + as 0x0007 GroupName as Gp7" PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0007 gp7 1 0 - - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + ./chip-tool groups add-group-if-identifying 0x0007 Gp7 1 0 + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1658306847.237724][3125:3130] CHIP:DMG: StatusIB = [1658306847.237765][3125:3130] CHIP:DMG: { @@ -598,12 +804,16 @@ tests: [1658306847.237869][3125:3130] CHIP:DMG: }, disabled: true - - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster" + - label: + "Step 13: TH reads GroupTable attribute from the GroupKeyManagement + cluster from DUT on EP0" PICS: GRPKEY.S.A0001 verification: | ./chip-tool groupkeymanagement read group-table 1 0 - Verify the "grouptable" has an entry, GroupName as Gp7 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the GroupTable with following entries: + GroupID as 0x0007 + If G.S.F00(GN) is true then GroupName as gp7, Otherwise 0 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1674551848.817117][20991:20993] CHIP:DMG: } [1674551848.817230][20991:20993] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 1314349287 @@ -612,24 +822,25 @@ tests: [1674551848.817274][20991:20993] CHIP:TOO: GroupId: 6 [1674551848.817278][20991:20993] CHIP:TOO: Endpoints: 1 entries [1674551848.817282][20991:20993] CHIP:TOO: [1]: 0 - [1674551848.817286][20991:20993] CHIP:TOO: GroupName: gp6 + [1674551848.817286][20991:20993] CHIP:TOO: GroupName: Gp6 [1674551848.817289][20991:20993] CHIP:TOO: FabricIndex: 1 [1674551848.817292][20991:20993] CHIP:TOO: } [1674551848.817297][20991:20993] CHIP:TOO: [2]: { [1674551848.817300][20991:20993] CHIP:TOO: GroupId: 7 [1674551848.817303][20991:20993] CHIP:TOO: Endpoints: 1 entries [1674551848.817306][20991:20993] CHIP:TOO: [1]: 0 - [1674551848.817309][20991:20993] CHIP:TOO: GroupName: gp7 + [1674551848.817309][20991:20993] CHIP:TOO: GroupName: Gp7 [1674551848.817312][20991:20993] CHIP:TOO: FabricIndex: 1 [1674551848.817314][20991:20993] CHIP:TOO: } disabled: true - label: - "If maxgroups > 2, TH sends AddGroupIfIdentifying command to DUT with - (maxgroups - 2) groups, incrementing the GroupId each time." + "Step 15: TH sends AddGroupIfIdentifying command to DUT + PIXIT.G.ENDPOINT with (maxgroups - 2) groups, incrementing the GroupId + each time starting from 0x0008." PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0008 gp8 1 0 + ./chip-tool groups add-group-if-identifying 0x0008 Gp8 1 0 Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: @@ -638,95 +849,85 @@ tests: [1653552667.307881][2571:2576] CHIP:DMG: status = 0x00 (SUCCESS), [1653552667.307922][2571:2576] CHIP:DMG: }, - ./chip-tool groups add-group-if-identifying 0x0009 gp9 1 0 - - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + ./chip-tool groups add-group-if-identifying 0x0009 Gp9 1 0 + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + [1674551849.597991][21000:21002] CHIP:DMG: StatusIB = [1674551849.597995][21000:21002] CHIP:DMG: { [1674551849.597998][21000:21002] CHIP:DMG: status = 0x00 (SUCCESS), [1674551849.598001][21000:21002] CHIP:DMG: }, - ./chip-tool groups add-group-if-identifying 0x000a gp10 1 0 + ./chip-tool groups add-group-if-identifying 0x000a Gp10 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882426.604685][7756:7758] CHIP:DMG: StatusIB = [1683882426.604688][7756:7758] CHIP:DMG: { [1683882426.604691][7756:7758] CHIP:DMG: status = 0x00 (SUCCESS), [1683882426.604701][7756:7758] CHIP:DMG: }, - ./chip-tool groups add-group-if-identifying 0x000b gp11 1 0 + ./chip-tool groups add-group-if-identifying 0x000b Gp11 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882432.529527][7760:7762] CHIP:DMG: StatusIB = [1683882432.529532][7760:7762] CHIP:DMG: { [1683882432.529535][7760:7762] CHIP:DMG: status = 0x00 (SUCCESS), [1683882432.529538][7760:7762] CHIP:DMG: }, - [1683882432.529543][7760:7762] CHIP:DMG: + [1683882432.529543][7760:7762] CHIP:DMG: - ./chip-tool groups add-group-if-identifying 0x000c gp12 1 0 + ./chip-tool groups add-group-if-identifying 0x000c Gp12 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882437.464914][7763:7765] CHIP:DMG: StatusIB = [1683882437.464927][7763:7765] CHIP:DMG: { [1683882437.464940][7763:7765] CHIP:DMG: status = 0x00 (SUCCESS), [1683882437.464951][7763:7765] CHIP:DMG: }, - ./chip-tool groups add-group-if-identifying 0x000d gp13 1 0 + ./chip-tool groups add-group-if-identifying 0x000d Gp13 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882442.334908][7766:7768] CHIP:DMG: StatusIB = [1683882442.334911][7766:7768] CHIP:DMG: { [1683882442.334915][7766:7768] CHIP:DMG: status = 0x00 (SUCCESS), [1683882442.334918][7766:7768] CHIP:DMG: }, - ./chip-tool groups add-group-if-identifying 0x000e gp14 1 0 + ./chip-tool groups add-group-if-identifying 0x000e Gp14 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - 1683882448.814358][7769:7771] CHIP:DMG: + 1683882448.814358][7769:7771] CHIP:DMG: [1683882448.814361][7769:7771] CHIP:DMG: StatusIB = [1683882448.814367][7769:7771] CHIP:DMG: { [1683882448.814371][7769:7771] CHIP:DMG: status = 0x00 (SUCCESS), [1683882448.814374][7769:7771] CHIP:DMG: }, - ./chip-tool groups add-group-if-identifying 0x000e gp15 1 0 - - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1683882454.216005][7772:7774] CHIP:DMG: - [1683882454.216016][7772:7774] CHIP:DMG: StatusIB = - [1683882454.216029][7772:7774] CHIP:DMG: { - [1683882454.216045][7772:7774] CHIP:DMG: status = 0x00 (SUCCESS), - [1683882454.216057][7772:7774] CHIP:DMG: }, + ./chip-tool groups add-group-if-identifying 0x000f Gp15 1 0 - ./chip-tool groups add-group-if-identifying 0x000f gp15 1 0 - - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882460.656727][7775:7777] CHIP:DMG: StatusIB = [1683882460.656730][7775:7777] CHIP:DMG: { [1683882460.656733][7775:7777] CHIP:DMG: status = 0x00 (SUCCESS), [1683882460.656737][7775:7777] CHIP:DMG: }, - [1683882460.656740][7775:7777] CHIP:DMG: + [1683882460.656740][7775:7777] CHIP:DMG: - ./chip-tool groups add-group-if-identifying 0x0010 gp16 1 0 + ./chip-tool groups add-group-if-identifying 0x0010 Gp16 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882470.921771][7779:7781] CHIP:DMG: StatusIB = [1683882470.921775][7779:7781] CHIP:DMG: { [1683882470.921779][7779:7781] CHIP:DMG: status = 0x00 (SUCCESS), [1683882470.921783][7779:7781] CHIP:DMG: }, - [1683882470.921787][7779:7781] CHIP:DMG: + [1683882470.921787][7779:7781] CHIP:DMG: - ./chip-tool groups add-group-if-identifying 0x0011 gp17 1 0 + ./chip-tool groups add-group-if-identifying 0x0011 Gp17 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882478.955105][7783:7785] CHIP:DMG: StatusIB = [1683882478.955124][7783:7785] CHIP:DMG: { @@ -735,14 +936,12 @@ tests: disabled: true - label: - "TH binds GroupId( 0x0006 + maxgroups to 0x0006 + maxgroups+1) with - GroupKeySetID 1" + "Step 16a: TH binds GroupId( 0x0006 + maxgroups to 0x0006 + + maxgroups+1) with GroupKeySetID 1" verification: | - Before adding the Groups (Maxgroup+1) by AddGroupIfIdentifying execute below command which is used to check the Resource_Exhausted Condition - ./chip-tool groupkeymanagement write group-key-map '[{"groupId":18, "groupKeySetID": 1, "fabricIndex": 1},{"groupId":19, "groupKeySetID": 1, "fabricIndex": 1}]' 1 0 - Verify the "status is success" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1674551849.075921][20994:20996] CHIP:DMG: WriteResponseMessage = [1674551849.075924][20994:20996] CHIP:DMG: { @@ -756,14 +955,14 @@ tests: [1674551849.075950][20994:20996] CHIP:DMG: Cluster = 0x3f, [1674551849.075953][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, [1674551849.075956][20994:20996] CHIP:DMG: } - [1674551849.075961][20994:20996] CHIP:DMG: + [1674551849.075961][20994:20996] CHIP:DMG: [1674551849.075964][20994:20996] CHIP:DMG: StatusIB = [1674551849.075967][20994:20996] CHIP:DMG: { [1674551849.075971][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), [1674551849.075974][20994:20996] CHIP:DMG: }, - [1674551849.075977][20994:20996] CHIP:DMG: + [1674551849.075977][20994:20996] CHIP:DMG: [1674551849.075980][20994:20996] CHIP:DMG: }, - [1674551849.075986][20994:20996] CHIP:DMG: + [1674551849.075986][20994:20996] CHIP:DMG: [1674551849.075989][20994:20996] CHIP:DMG: AttributeStatusIB = [1674551849.075991][20994:20996] CHIP:DMG: { [1674551849.075994][20994:20996] CHIP:DMG: AttributePathIB = @@ -773,14 +972,14 @@ tests: [1674551849.076006][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, [1674551849.076010][20994:20996] CHIP:DMG: ListIndex = Null, [1674551849.076012][20994:20996] CHIP:DMG: } - [1674551849.076017][20994:20996] CHIP:DMG: + [1674551849.076017][20994:20996] CHIP:DMG: [1674551849.076020][20994:20996] CHIP:DMG: StatusIB = [1674551849.076022][20994:20996] CHIP:DMG: { [1674551849.076025][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), [1674551849.076028][20994:20996] CHIP:DMG: }, - [1674551849.076031][20994:20996] CHIP:DMG: + [1674551849.076031][20994:20996] CHIP:DMG: [1674551849.076034][20994:20996] CHIP:DMG: }, - [1674551849.076040][20994:20996] CHIP:DMG: + [1674551849.076040][20994:20996] CHIP:DMG: [1674551849.076043][20994:20996] CHIP:DMG: AttributeStatusIB = [1674551849.076046][20994:20996] CHIP:DMG: { [1674551849.076048][20994:20996] CHIP:DMG: AttributePathIB = @@ -790,28 +989,28 @@ tests: [1674551849.076060][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, [1674551849.076063][20994:20996] CHIP:DMG: ListIndex = Null, [1674551849.076066][20994:20996] CHIP:DMG: } - [1674551849.076071][20994:20996] CHIP:DMG: + [1674551849.076071][20994:20996] CHIP:DMG: [1674551849.076074][20994:20996] CHIP:DMG: StatusIB = [1674551849.076076][20994:20996] CHIP:DMG: { [1674551849.076080][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), [1674551849.076082][20994:20996] CHIP:DMG: }, - [1674551849.076085][20994:20996] CHIP:DMG: + [1674551849.076085][20994:20996] CHIP:DMG: [1674551849.076088][20994:20996] CHIP:DMG: }, - [1674551849.076092][20994:20996] CHIP:DMG: + [1674551849.076092][20994:20996] CHIP:DMG: [1674551849.076094][20994:20996] CHIP:DMG: ], - [1674551849.076102][20994:20996] CHIP:DMG: + [1674551849.076102][20994:20996] CHIP:DMG: [1674551849.076105][20994:20996] CHIP:DMG: InteractionModelRevision = 1 [1674551849.076108][20994:20996] CHIP:DMG: } disabled: true - label: - "If maxgroups>0, TH sends AddGroupIfIdentifying command to DUT - (maxgroups+2) times as unicast method with different GroupID" + "Step 16b: TH sends AddGroupIfIdentifying command to DUT + PIXIT.G.ENDPOINT once as unicast method with different GroupID" PICS: G.S.C05.Rsp verification: | ./chip-tool groups add-group-if-identifying 0x0012 gp18 1 0 - Verify the "status is RESOURCE_EXHAUSTED" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the status is RESOURCE_EXHAUSTED , when the GroupTable entries are greater than maxgroups on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1658317372.589336][4296:4301] CHIP:DMG: StatusIB = [1658317372.589363][4296:4301] CHIP:DMG: { @@ -820,7 +1019,7 @@ tests: ./chip-tool groups add-group-if-identifying 0x0013 gp19 1 0 - Verify the "status is RESOURCE_EXHAUSTED" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the status is RESOURCE_EXHAUSTED , when the GroupTable entries are greater than maxgroups+1 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882594.518675][7824:7826] CHIP:DMG: StatusIB = [1683882594.518680][7824:7826] CHIP:DMG: { @@ -830,109 +1029,110 @@ tests: disabled: true - label: - "TH reads GroupTable attribute from the GroupKeyManagement cluster - from DUT" + "Step 17: TH reads GroupTable attribute from the GroupKeyManagement + cluster from DUT on EP0" PICS: GRPKEY.S.A0001 verification: | ./chip-tool groupkeymanagement read group-table 1 0 - Verify the "grouptable" does not have GroupName gp5 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - 1683882614.150283][7830:7832] CHIP:DMG: } - [1683882614.150492][7830:7832] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 223017989 - [1683882614.150539][7830:7832] CHIP:TOO: GroupTable: 12 entries - [1683882614.150552][7830:7832] CHIP:TOO: [1]: { - [1683882614.150555][7830:7832] CHIP:TOO: GroupId: 6 - [1683882614.150559][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150565][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150571][7830:7832] CHIP:TOO: GroupName: gp6 - [1683882614.150575][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150579][7830:7832] CHIP:TOO: } - [1683882614.150587][7830:7832] CHIP:TOO: [2]: { - [1683882614.150590][7830:7832] CHIP:TOO: GroupId: 7 - [1683882614.150595][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150600][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150604][7830:7832] CHIP:TOO: GroupName: gp7 - [1683882614.150607][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150610][7830:7832] CHIP:TOO: } - [1683882614.150618][7830:7832] CHIP:TOO: [3]: { - [1683882614.150621][7830:7832] CHIP:TOO: GroupId: 8 - [1683882614.150626][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150630][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150634][7830:7832] CHIP:TOO: GroupName: gp8 - [1683882614.150638][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150641][7830:7832] CHIP:TOO: } - [1683882614.150647][7830:7832] CHIP:TOO: [4]: { - [1683882614.150651][7830:7832] CHIP:TOO: GroupId: 9 - [1683882614.150654][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150658][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150662][7830:7832] CHIP:TOO: GroupName: gp9 - [1683882614.150665][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150668][7830:7832] CHIP:TOO: } - [1683882614.150675][7830:7832] CHIP:TOO: [5]: { - [1683882614.150678][7830:7832] CHIP:TOO: GroupId: 10 - [1683882614.150681][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150684][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150687][7830:7832] CHIP:TOO: GroupName: gp10 - [1683882614.150691][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150694][7830:7832] CHIP:TOO: } - [1683882614.150701][7830:7832] CHIP:TOO: [6]: { - [1683882614.150703][7830:7832] CHIP:TOO: GroupId: 11 - [1683882614.150706][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150710][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150712][7830:7832] CHIP:TOO: GroupName: gp11 - [1683882614.150715][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150717][7830:7832] CHIP:TOO: } - [1683882614.150722][7830:7832] CHIP:TOO: [7]: { - [1683882614.150725][7830:7832] CHIP:TOO: GroupId: 12 - [1683882614.150728][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150731][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150734][7830:7832] CHIP:TOO: GroupName: gp12 - [1683882614.150736][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150739][7830:7832] CHIP:TOO: } - [1683882614.150744][7830:7832] CHIP:TOO: [8]: { - [1683882614.150746][7830:7832] CHIP:TOO: GroupId: 13 - [1683882614.150749][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150752][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150755][7830:7832] CHIP:TOO: GroupName: gp13 - [1683882614.150759][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150762][7830:7832] CHIP:TOO: } - [1683882614.150767][7830:7832] CHIP:TOO: [9]: { - [1683882614.150770][7830:7832] CHIP:TOO: GroupId: 14 - [1683882614.150773][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150776][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150779][7830:7832] CHIP:TOO: GroupName: gp15 - [1683882614.150781][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150784][7830:7832] CHIP:TOO: } - [1683882614.150789][7830:7832] CHIP:TOO: [10]: { - [1683882614.150791][7830:7832] CHIP:TOO: GroupId: 15 - [1683882614.150795][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150798][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150801][7830:7832] CHIP:TOO: GroupName: gp15 - [1683882614.150803][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150806][7830:7832] CHIP:TOO: } - [1683882614.150811][7830:7832] CHIP:TOO: [11]: { - [1683882614.150813][7830:7832] CHIP:TOO: GroupId: 16 - [1683882614.150816][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150820][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150822][7830:7832] CHIP:TOO: GroupName: gp16 - [1683882614.150825][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150827][7830:7832] CHIP:TOO: } - [1683882614.150832][7830:7832] CHIP:TOO: [12]: { - [1683882614.150835][7830:7832] CHIP:TOO: GroupId: 17 - [1683882614.150838][7830:7832] CHIP:TOO: Endpoints: 1 entries - [1683882614.150841][7830:7832] CHIP:TOO: [1]: 0 - [1683882614.150844][7830:7832] CHIP:TOO: GroupName: gp17 - [1683882614.150847][7830:7832] CHIP:TOO: FabricIndex: 1 - [1683882614.150850][7830:7832] CHIP:TOO: } + Verify the GroupTable does not contains GroupId:18 (0x0006 + maxgroups), GroupId:19 (0x0006 + maxgroups+1) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1686812678.453900][10243:10245] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 3227568214 + [1686812678.453954][10243:10245] CHIP:TOO: GroupTable: 12 entries + [1686812678.453970][10243:10245] CHIP:TOO: [1]: { + [1686812678.453975][10243:10245] CHIP:TOO: GroupId: 6 + [1686812678.453980][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.453984][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.453989][10243:10245] CHIP:TOO: GroupName: Gp6 + [1686812678.453992][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.453996][10243:10245] CHIP:TOO: } + [1686812678.454001][10243:10245] CHIP:TOO: [2]: { + [1686812678.454004][10243:10245] CHIP:TOO: GroupId: 7 + [1686812678.454006][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454009][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454012][10243:10245] CHIP:TOO: GroupName: Gp7 + [1686812678.454014][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454017][10243:10245] CHIP:TOO: } + [1686812678.454022][10243:10245] CHIP:TOO: [3]: { + [1686812678.454024][10243:10245] CHIP:TOO: GroupId: 8 + [1686812678.454027][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454030][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454033][10243:10245] CHIP:TOO: GroupName: Gp8 + [1686812678.454034][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454037][10243:10245] CHIP:TOO: } + [1686812678.454042][10243:10245] CHIP:TOO: [4]: { + [1686812678.454044][10243:10245] CHIP:TOO: GroupId: 9 + [1686812678.454047][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454050][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454052][10243:10245] CHIP:TOO: GroupName: Gp9 + [1686812678.454055][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454057][10243:10245] CHIP:TOO: } + [1686812678.454061][10243:10245] CHIP:TOO: [5]: { + [1686812678.454064][10243:10245] CHIP:TOO: GroupId: 10 + [1686812678.454066][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454069][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454072][10243:10245] CHIP:TOO: GroupName: Gp10 + [1686812678.454075][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454077][10243:10245] CHIP:TOO: } + [1686812678.454082][10243:10245] CHIP:TOO: [6]: { + [1686812678.454085][10243:10245] CHIP:TOO: GroupId: 11 + [1686812678.454088][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454090][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454093][10243:10245] CHIP:TOO: GroupName: Gp11 + [1686812678.454095][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454098][10243:10245] CHIP:TOO: } + [1686812678.454103][10243:10245] CHIP:TOO: [7]: { + [1686812678.454106][10243:10245] CHIP:TOO: GroupId: 12 + [1686812678.454108][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454111][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454113][10243:10245] CHIP:TOO: GroupName: Gp12 + [1686812678.454116][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454118][10243:10245] CHIP:TOO: } + [1686812678.454123][10243:10245] CHIP:TOO: [8]: { + [1686812678.454125][10243:10245] CHIP:TOO: GroupId: 13 + [1686812678.454127][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454130][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454133][10243:10245] CHIP:TOO: GroupName: Gp13 + [1686812678.454135][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454138][10243:10245] CHIP:TOO: } + [1686812678.454142][10243:10245] CHIP:TOO: [9]: { + [1686812678.454144][10243:10245] CHIP:TOO: GroupId: 14 + [1686812678.454147][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454149][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454153][10243:10245] CHIP:TOO: GroupName: Gp14 + [1686812678.454156][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454158][10243:10245] CHIP:TOO: } + [1686812678.454163][10243:10245] CHIP:TOO: [10]: { + [1686812678.454165][10243:10245] CHIP:TOO: GroupId: 15 + [1686812678.454167][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454170][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454173][10243:10245] CHIP:TOO: GroupName: Gp15 + [1686812678.454175][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454178][10243:10245] CHIP:TOO: } + [1686812678.454182][10243:10245] CHIP:TOO: [11]: { + [1686812678.454184][10243:10245] CHIP:TOO: GroupId: 16 + [1686812678.454187][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454190][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454193][10243:10245] CHIP:TOO: GroupName: Gp16 + [1686812678.454196][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454198][10243:10245] CHIP:TOO: } + [1686812678.454202][10243:10245] CHIP:TOO: [12]: { + [1686812678.454204][10243:10245] CHIP:TOO: GroupId: 17 + [1686812678.454207][10243:10245] CHIP:TOO: Endpoints: 1 entries + [1686812678.454210][10243:10245] CHIP:TOO: [1]: 0 + [1686812678.454212][10243:10245] CHIP:TOO: GroupName: Gp17 + [1686812678.454215][10243:10245] CHIP:TOO: FabricIndex: 1 + [1686812678.454217][10243:10245] CHIP:TOO: } disabled: true - - label: "TH sends RemoveAllGroups command to DUT as unicast method" + - label: + "Step 18: TH sends RemoveAllGroups command to DUT on PIXIT.G.ENDPOINT + as unicast method" PICS: G.S.C04.Rsp verification: | ./chip-tool groups remove-all-groups 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1651224377.831704][2989:2994] CHIP:DMG: StatusIB = [1651224377.831757][2989:2994] CHIP:DMG: { @@ -942,13 +1142,14 @@ tests: disabled: true - label: - "TH sends AddGroupIfIdentifying command to DUT as unicast method with - the following fields: GroupID as 0x0000 GroupName as Gp45" + "Step 19: TH sends AddGroupIfIdentifying command to DUT on + PIXIT.G.ENDPOINT as unicast method with the following fields: GroupID + as 0x0000 GroupName as Gp45" PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0000 gp45 1 0 + ./chip-tool groups add-group-if-identifying 0x0000 Gp45 1 0 - Verify the "status is CONSTRAINT_ERROR" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the status is CONSTRAINT_ERROR (when GroupId is not in the inclusive range of 0x0001 to 0xffff) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1658307266.719438][3251:3256] CHIP:DMG: StatusIB = [1658307266.719482][3251:3256] CHIP:DMG: { @@ -957,13 +1158,14 @@ tests: disabled: true - label: - "TH sends AddGroupIfIdentifying command to DUT as unicast method with - the following fields: GroupId as 0x0046 GroupName as Gp46" + "Step 20: TH sends AddGroupIfIdentifying command to DUT on + PIXIT.G.ENDPOINT as unicast method with the following fields: GroupId + as 0x0046 GroupName as Gp46" PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0046 gp46 1 0 + ./chip-tool groups add-group-if-identifying 0x0046 Gp46 1 0 - Verify the "status is UNSUPPORTED_ACCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the status is UNSUPPORTED_ACCESS (GroupId in the AddGroupIfIdentifying command does not have the security key) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1658307298.568727][3257:3262] CHIP:DMG: StatusIB = [1658307298.568761][3257:3262] CHIP:DMG: { @@ -972,13 +1174,13 @@ tests: disabled: true - label: - "TH sends Identify command to DUT with the IdentifyTime as 0x0000 - (stop identifying)" + "Step 21a: TH sends Identify command to DUT on PIXIT.I.ENDPOINT with + the IdentifyTime as 0x0000 (stop identifying)" PICS: I.S.C00.Rsp verification: | ./chip-tool identify identify 0x0000 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the status is SUCCESS on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1658307387.097433][3268:3273] CHIP:DMG: StatusIB = [1658307387.097464][3268:3273] CHIP:DMG: { @@ -986,25 +1188,26 @@ tests: [1658307387.097533][3268:3273] CHIP:DMG: }, disabled: true - - label: "TH reads immediately IdentifyTime attribute from DUT" + - label: "Step 21b: TH reads immediately IdentifyTime attribute from DUT" PICS: I.S.A0000 verification: | ./chip-tool identify read identify-time 1 0 - Verify the "identify time" attribute value is 0x0000 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the IdentifyTime attribute value is 0x0000 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1658307393.820520][3274:3279] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_0000 DataVersion: 3871913767 [1658307393.820575][3274:3279] CHIP:TOO: identify time: 0 disabled: true - label: - "TH sends AddGroupIfIdentifying command to DUT as unicast method with - the following fields: GroupId as 0x0004 GroupName as Gp4" + "Step 22: TH sends AddGroupIfIdentifying command to DUT on + PIXIT.G.ENDPOINT as unicast method with the following fields: GroupId + as 0x0004 GroupName as Gp4" PICS: G.S.C05.Rsp verification: | - ./chip-tool groups add-group-if-identifying 0x0004 gp4 1 0 + ./chip-tool groups add-group-if-identifying 0x0004 Gp4 1 0 - Verify the "status is SUCCESS" , GroupId is 0x0004 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify DUT responds with SUCCESS status response on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1651224746.146005][3038:3043] CHIP:DMG: StatusIB = [1651224746.146038][3038:3043] CHIP:DMG: { @@ -1012,12 +1215,14 @@ tests: [1651224746.146106][3038:3043] CHIP:DMG: }, disabled: true - - label: "TH reads GroupTable attribute from the GroupKeyManagement cluster" + - label: + "Step 23: TH reads GroupTable attribute from the GroupKeyManagement + cluster of DUT on EP0" PICS: GRPKEY.S.A0001 verification: | ./chip-tool groupkeymanagement read group-table 1 0 - Verify the "grouptable entries is 0" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the GroupId 0x0004 is not added in GroupTable entries on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1658317914.656772][4650:4655] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_0001 DataVersion: 3844079664 [1658317914.656843][4650:4655] CHIP:TOO: GroupTable: 0 entries diff --git a/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml b/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml index 04db88ae83189b..1a7b523a8ad561 100644 --- a/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml @@ -81,17 +81,7 @@ tests: type: bitmap32 hasMasksSet: [0x3] - - label: "Step 4: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" + - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" response: @@ -143,14 +133,57 @@ tests: type: list contains: [5] - - label: "Step 5: TH reads EventList attribute from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4f: TH reads from the DUT the AttributeList attribute. The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). + 2.The list MAY contain values in the Manufacturer Extensible + Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. + 3.TThe list SHALL NOT contain any values in the Test Vendor or invalid + range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool hepafiltermonitoring read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0002,0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0003 + - Based on feature support:- 0x0000, 0x0001 + + [1690183725.059324][8158:8160] CHIP:TOO: AttributeList: 12 entries + [1690183725.059384][8158:8160] CHIP:TOO: [1]: 0 + [1690183725.059436][8158:8160] CHIP:TOO: [2]: 1 + [1690183725.059487][8158:8160] CHIP:TOO: [3]: 2 + [1690183725.059536][8158:8160] CHIP:TOO: [4]: 3 + [1690183725.059584][8158:8160] CHIP:TOO: [5]: 4 + [1690183725.059633][8158:8160] CHIP:TOO: [6]: 5 + [1690183725.059683][8158:8160] CHIP:TOO: [7]: 65528 + [1690183725.059732][8158:8160] CHIP:TOO: [8]: 65529 + [1690183725.059780][8158:8160] CHIP:TOO: [9]: 65530 + [1690183725.059829][8158:8160] CHIP:TOO: [10]: 65531 + [1690183725.059878][8158:8160] CHIP:TOO: [11]: 65532 + [1690183725.059927][8158:8160] CHIP:TOO: [12]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + # EventList disabled for 1.2 + # - label: "Step 5: TH reads EventList attribute from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" @@ -160,6 +193,34 @@ tests: type: list contains: [] + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool hepafiltermonitoring read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685962490.529022][11669:11671] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0071 Attribute 0x0000_FFF9 DataVersion: 1815992336 + [1685962490.529297][11669:11671] CHIP:TOO: AcceptedCommandList: 0 entries + [1690183785.805331][8169:8171] CHIP:TOO: [1]: 0 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList" @@ -171,10 +232,37 @@ tests: type: list contains: [0] - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool hepafiltermonitoring read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685962569.646786][11676:11678] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0071 Attribute 0x0000_FFF8 DataVersion: 1815992336 + [1685962569.646938][11676:11678] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml old mode 100644 new mode 100755 index 599e081a2b1c28..8cdf10c545d8ce --- a/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml @@ -31,7 +31,7 @@ tests: - name: "nodeId" value: nodeId - - label: "Step 2: Read the global attribute: ClusterRevision" + - label: "Step 2: TH reads ClusterRevision attribute from DUT" command: "readAttribute" attribute: "ClusterRevision" response: @@ -39,7 +39,7 @@ tests: constraints: type: int16u - - label: "Step 3: Read the global attribute: FeatureMap" + - label: "Step 3: TH reads FeatureMap attribute from DUT" PICS: ICDM.S.F00 command: "readAttribute" attribute: "FeatureMap" @@ -48,7 +48,7 @@ tests: constraints: type: bitmap32 - - label: "Step 3: Read the global attribute: FeatureMap" + - label: "Step 3: TH reads FeatureMap attribute from DUT" PICS: " !ICDM.S.F00 " command: "readAttribute" attribute: "FeatureMap" @@ -57,17 +57,7 @@ tests: constraints: type: bitmap32 - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" + - label: "Step 4a: TH reads AttributeList attribute from DUT" command: "readAttribute" attribute: "AttributeList" response: @@ -106,16 +96,76 @@ tests: type: list contains: [5] - - label: "Step 5: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool icdmanagement read attribute-list 1 0 + + Verify " AttributeList "should include the mandatory attributes (values 0, 1, 2) and + global attributes (value 65533, 65532, 65531, 65530, 65529 and 65528) + The list include entries based on feature support: + 0x0003: SHALL be included if and only if ICDM.S.A0003(RegisteredClients) + 0x0004: SHALL be included if and only if ICDM.S.A0004(IcdCounter) + 0x0005: SHALL be included if and only if ICDM.S.A0005(ClientsSupportedPerFabric) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + + [1685123797636] [39641:392416] [TOO] Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_FFFB DataVersion: 93993128 + [1685123797636] [39641:392416] [TOO] AttributeList: 12 entries + [1685123797636] [39641:392416] [TOO] [1]: 0 + [1685123797636] [39641:392416] [TOO] [2]: 1 + [1685123797636] [39641:392416] [TOO] [3]: 2 + [1685123797636] [39641:392416] [TOO] [4]: 3 + [1685123797636] [39641:392416] [TOO] [5]: 4 + [1685123797637] [39641:392416] [TOO] [6]: 5 + [1685123797637] [39641:392416] [TOO] [7]: 65528 + [1685123797637] [39641:392416] [TOO] [8]: 65529 + [1685123797637] [39641:392416] [TOO] [9]: 65530 + [1685123797637] [39641:392416] [TOO] [10]: 65531 + [1685123797638] [39641:392416] [TOO] [11]: 65532 + [1685123797638] [39641:392416] [TOO] [12]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: TH reads AcceptedCommandList attribute from DUT" + PICS: " !ICDM.S.F00 && !ICDM.S.C03.Rsp " command: "readAttribute" - attribute: "EventList" + attribute: "AcceptedCommandList" response: value: [] constraints: type: list - - label: "Step 6a: Read the global attribute: AcceptedCommandList" + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT if + ICDM.S.F00 is true" + PICS: ICDM.S.F00 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -124,7 +174,7 @@ tests: contains: [0, 2] - label: - "Step 6b: Read the optional command (StayActiveRequest) in + "Step 6c: Read the optional command (StayActiveRequest) in AttributeList" PICS: ICDM.S.C03.Rsp command: "readAttribute" @@ -134,7 +184,40 @@ tests: type: list contains: [3] - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6d: TH reads AcceptedCommandList attribute from DUT. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored.3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool icdmanagement read accepted-command-list 1 0 + + Verify the "AcceptedCommandList" contains feature dependent commands + if ICDM.S.F00(CIP) feature supports list includes(value 0x0000 and 0x02) and + The list MAY include these optional entries: + if ICDM.S.C01.Rsp(StayActiveRequest) feature supports list includes(value 0x0003) on the TH (Chip-tool) and below is the sample log provided for the raspi platform: + + [1685123917843] [39747:394032] [TOO] Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_FFF9 DataVersion: 93993128 + [1685123917843] [39747:394032] [TOO] AcceptedCommandList: 3 entries + [1685123917843] [39747:394032] [TOO] [1]: 0 + [1685123917844] [39747:394032] [TOO] [2]: 2 + [1685123917844] [39747:394032] [TOO] [3]: 3 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: TH reads GeneratedCommandList attribute from DUT" PICS: " !ICDM.S.F00 " command: "readAttribute" attribute: "GeneratedCommandList" @@ -143,7 +226,7 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: "Step 7a: TH reads GeneratedCommandList attribute from DUT" PICS: ICDM.S.F00 command: "readAttribute" attribute: "GeneratedCommandList" @@ -151,3 +234,32 @@ tests: constraints: type: list contains: [1] + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool icdmanagement read generated-command-list 1 0 + + Verify "GeneratedCommandList" contains feature dependent commands + if ICDM.S.F00(CIP) feature supports list includes(value 0x0001), otherwise value is 0 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + + [1685123946015] [39758:394357] [TOO] Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_FFF8 DataVersion: 93993128 + [1685123946015] [39758:394357] [TOO] GeneratedCommandList: 1 entries + [1685123946015] [39758:394357] [TOO] [1]: 1 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_ILL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ILL_1_1.yaml index 09237368e061f5..4219db229dbbbc 100644 --- a/src/app/tests/suites/certification/Test_TC_ILL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ILL_1_1.yaml @@ -48,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -85,31 +75,6 @@ tests: type: list contains: [4] - #Manufacturer specific event IDs check not possible - - label: - "Step 5: Read EventList attribute from the DUT.For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." - verification: | - ./chip-tool illuminancemeasurement read event-list 1 1 - - On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. - - [1676460615.124432][26109:26111] CHIP:DMG: } - [1676460615.124515][26109:26111] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_FFFA DataVersion: 3234297781 - [1676460615.124549][26109:26111] CHIP:TOO: EventList: 0 entries - [1676460615.124602][26109:26111] CHIP:EM: <<< [E:27336i S:46366 M:151273397 (Ack:143578317)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676460615.124616][26109:26111] CHIP:IN: (S) Sending msg 151273397 on secure session with LSID: 46366 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml index 75d3facf4851c9..511554c5929f60 100644 --- a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml @@ -58,16 +58,6 @@ tests: # type: bitmap32 - label: "Step 4: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -123,26 +113,3 @@ tests: # value: [0] # constraints: # type: list - - #Manufacturer specific event IDs check not possible - - label: - "Step 7: Read EventList attribute from the DUT. For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." - verification: | - ./chip-tool identify read event-list 1 1 - - On TH(chip-tool) verify that the DUT response provides a list of supported events. For this cluster the list is empty - - 1676291532.905818][27664:27666] CHIP:DMG: } - [1676291532.905861][27664:27666] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFA DataVersion: 4211856524 - [1676291532.905871][27664:27666] CHIP:TOO: EventList: 0 entries - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml b/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml index a13c83a6d3da94..5b1e947599d698 100644 --- a/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml @@ -84,16 +84,6 @@ tests: hasMasksSet: [0x4] - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -117,11 +107,11 @@ tests: type: list contains: [1] - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml index 9797c149fd9fbf..85fe3ed8af7bc6 100644 --- a/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml @@ -48,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -65,14 +55,14 @@ tests: type: list contains: [0, 1, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6: TH reads AcceptedCommandList from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml index 5aca08d6cb6097..1ffba2c8e1b555 100644 --- a/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml @@ -50,16 +50,6 @@ tests: type: bitmap32 - label: "Step 3: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - value: [65528, 65529, 65530, 65531, 65532, 65533] - constraints: - type: list - - - label: "Step 3: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -83,11 +73,11 @@ tests: constraints: type: list - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml index 28f870762b67c0..33950dd9f0a6a9 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: LTIME.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -41,7 +40,6 @@ tests: type: int16u - label: "Step 3: TH reads the FeatureMap from DUT" - PICS: LTIME.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -51,16 +49,6 @@ tests: maxValue: 1 - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && LTIME.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && LTIME.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -71,7 +59,7 @@ tests: - label: "Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT" - PICS: LTIME.S.Afffb && LTIME.S.A0001 + PICS: LTIME.S.A0001 command: "readAttribute" attribute: "AttributeList" response: @@ -82,7 +70,7 @@ tests: - label: "Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT" - PICS: LTIME.S.Afffb && LTIME.S.A0002 + PICS: LTIME.S.A0002 command: "readAttribute" attribute: "AttributeList" response: @@ -90,17 +78,16 @@ tests: type: list contains: [2] - - label: "Step 5: TH reads EventList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && LTIME.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 5: TH reads EventList from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6: TH reads AcceptedCommandList from DUT" - PICS: LTIME.S.Afff9 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -109,7 +96,6 @@ tests: type: list - label: "Step 7: TH reads GeneratedCommandList from DUT" - PICS: LTIME.S.Afff8 command: "readAttribute" attribute: "GeneratedCommandList" response: diff --git a/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml b/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml index d11482abdfd4c2..7fbfe8f6e54b36 100644 --- a/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: LUNIT.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -41,7 +40,7 @@ tests: type: int16u - label: "Step 3: TH reads the FeatureMap from DUT" - PICS: LUNIT.S.Afffc && !LUNIT.S.F00 + PICS: " !LUNIT.S.F00 " command: "readAttribute" attribute: "FeatureMap" response: @@ -52,7 +51,7 @@ tests: - label: "Step 3: Given LUNIT.S.F00(TEMP) ensure featuremap has the correct bit set" - PICS: LUNIT.S.Afffc && LUNIT.S.F00 + PICS: LUNIT.S.F00 command: "readAttribute" attribute: "FeatureMap" response: @@ -61,16 +60,6 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -81,7 +70,7 @@ tests: - label: "Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList" - PICS: LUNIT.S.Afffb && LUNIT.S.F00 + PICS: LUNIT.S.F00 command: "readAttribute" attribute: "AttributeList" response: @@ -89,17 +78,16 @@ tests: type: list contains: [0] - - label: "Step 5: TH reads EventList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + # EventList disabled for 1.2 + # - label: "Step 5: TH reads EventList from DUT" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6: TH reads AcceptedCommandList from DUT" - PICS: LUNIT.S.Afff9 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -108,7 +96,7 @@ tests: type: list - label: "Step 7: TH reads GeneratedCommandList from DUT" - PICS: LUNIT.S.Afff8 + command: "readAttribute" attribute: "GeneratedCommandList" response: diff --git a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml index 95ea6eca309ea9..849129fa0fc58a 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml @@ -23,7 +23,7 @@ config: endpoint: 1 tests: - - label: "Wait for the commissioned device to be retrieved" + - label: "Step 0: Wait for the commissioned device to be retrieved" cluster: "DelayCommands" command: "WaitForCommissionee" arguments: @@ -82,16 +82,6 @@ tests: hasMasksSet: [0x4] - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 15, 17, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -210,11 +200,12 @@ tests: constraints: type: list - - label: "Step 5: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_LWM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LWM_1_1.yaml index e68e3f8ad88709..36dc76ce57e379 100644 --- a/src/app/tests/suites/certification/Test_TC_LWM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LWM_1_1.yaml @@ -74,16 +74,6 @@ tests: [1690184549.210831][15408:15410] CHIP:TOO: [10]: 65533 disabled: true - - label: "Step 5: TH reads from the DUT the EventList attribute." - verification: | - ./chip-tool laundrywashermode 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: - - [1690184560.096147][15413:15415] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0051 Attribute 0x0000_FFFA DataVersion: 3075628268 - [1690184560.096165][15413:15415] CHIP:TOO: EventList: 0 entries - disabled: true - - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute." verification: | ./chip-tool laundrywashermode read accepted-command-list 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml index 19f5ac35d7d12a..79e4cf77327196 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml @@ -62,16 +62,6 @@ tests: hasMasksSet: [0x1] - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -114,11 +104,12 @@ tests: constraints: type: list - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml index 18b9fde6dcd66e..4b60c533802675 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml @@ -73,16 +73,6 @@ tests: hasMasksSet: [0x2] - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -245,11 +235,12 @@ tests: type: list contains: [10] - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml index 068b590b4085f9..12cfaa026e8238 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml @@ -68,16 +68,6 @@ tests: type: bitmap32 - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -107,16 +97,65 @@ tests: type: list contains: [5] - - label: "Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4d: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool nitrogendioxideconcentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1687330774.078611][3846:3848] CHIP:TOO: AttributeList: 17 entries + [1687330774.078688][3846:3848] CHIP:TOO: [1]: 0 + [1687330774.078999][3846:3848] CHIP:TOO: [2]: 1 + [1687330774.079101][3846:3848] CHIP:TOO: [3]: 2 + [1687330774.079334][3846:3848] CHIP:TOO: [4]: 3 + [1687330774.079400][3846:3848] CHIP:TOO: [5]: 4 + [1687330774.079457][3846:3848] CHIP:TOO: [6]: 5 + [1687330774.079761][3846:3848] CHIP:TOO: [7]: 6 + [1687330774.079862][3846:3848] CHIP:TOO: [8]: 7 + [1687330774.079959][3846:3848] CHIP:TOO: [9]: 8 + [1687330774.080020][3846:3848] CHIP:TOO: [10]: 9 + [1687330774.080078][3846:3848] CHIP:TOO: [11]: 10 + [1687330774.080137][3846:3848] CHIP:TOO: [12]: 65528 + [1687330774.080441][3846:3848] CHIP:TOO: [13]: 65529 + [1687330774.080532][3846:3848] CHIP:TOO: [14]: 65530 + [1687330774.080610][3846:3848] CHIP:TOO: [15]: 65531 + [1687330774.080704][3846:3848] CHIP:TOO: [16]: 65532 + [1687330774.080764][3846:3848] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - - label: "Step 5: Read the global attribute: AcceptedCommandList" + #EventList disabled for 1.2 + # - label: "Read the global attribute: EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: TH reads AcceptedCommandList attribute from DUT" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -124,10 +163,63 @@ tests: type: list contains: [0] - - label: "Step 6: Read the global attribute: GeneratedCommandList" + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored.3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool nitrogendioxideconcentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0413 Attribute 0x0000_FFF9 DataVersion: 2476226943 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: TH reads GeneratedCommandList attribute from DUT" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool nitrogendioxideconcentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0413 Attribute 0x0000_FFF8 DataVersion: 2476226943 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml index 7b50bfd9a06f9b..16bdc1740134bb 100644 --- a/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -280,7 +270,7 @@ tests: contains: [5, 6] - label: - "Step 3i: Check that AverageMeasuredValue and + "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when NDOCONC.S.F05 (AVG) is not set" command: "readAttribute" @@ -292,7 +282,7 @@ tests: excludes: [5, 6] - label: - "Step 3j: Read the optional, feature dependent attribute LevelValue in + "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList" command: "readAttribute" attribute: "AttributeList" @@ -303,7 +293,7 @@ tests: contains: [10] - label: - "Step 3k: Check that LevelValue is excluded from AttributeList when + "Step 4k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is not set" command: "readAttribute" attribute: "AttributeList" @@ -313,16 +303,65 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool nitrogendioxideconcentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1687330774.078611][3846:3848] CHIP:TOO: AttributeList: 17 entries + [1687330774.078688][3846:3848] CHIP:TOO: [1]: 0 + [1687330774.078999][3846:3848] CHIP:TOO: [2]: 1 + [1687330774.079101][3846:3848] CHIP:TOO: [3]: 2 + [1687330774.079334][3846:3848] CHIP:TOO: [4]: 3 + [1687330774.079400][3846:3848] CHIP:TOO: [5]: 4 + [1687330774.079457][3846:3848] CHIP:TOO: [6]: 5 + [1687330774.079761][3846:3848] CHIP:TOO: [7]: 6 + [1687330774.079862][3846:3848] CHIP:TOO: [8]: 7 + [1687330774.079959][3846:3848] CHIP:TOO: [9]: 8 + [1687330774.080020][3846:3848] CHIP:TOO: [10]: 9 + [1687330774.080078][3846:3848] CHIP:TOO: [11]: 10 + [1687330774.080137][3846:3848] CHIP:TOO: [12]: 65528 + [1687330774.080441][3846:3848] CHIP:TOO: [13]: 65529 + [1687330774.080532][3846:3848] CHIP:TOO: [14]: 65530 + [1687330774.080610][3846:3848] CHIP:TOO: [15]: 65531 + [1687330774.080704][3846:3848] CHIP:TOO: [16]: 65532 + [1687330774.080764][3846:3848] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,10 +369,63 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored.3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool nitrogendioxideconcentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0413 Attribute 0x0000_FFF9 DataVersion: 2476226943 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool nitrogendioxideconcentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0413 Attribute 0x0000_FFF8 DataVersion: 2476226943 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml index ae73ecbd1b2307..f286978e90739b 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml @@ -48,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -65,14 +55,15 @@ tests: type: list contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml index 06585d355cb309..eed53b792e6c91 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml @@ -70,16 +70,6 @@ tests: hasMasksSet: [0x2] - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -98,22 +88,39 @@ tests: type: list contains: [16384, 16385, 16386, 16387] - #Manufacturer specific event IDs check not possible + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: - "Step 5: Read EventList attribute from the DUT.For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." + "Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" verification: | - ./chip-tool onoff read event-list 1 1 - - - Verify " EventList is empty" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1676352490.164738][6271:6273] CHIP:DMG: SuppressResponse = true, - [1676352490.164742][6271:6273] CHIP:DMG: InteractionModelRevision = 1 - [1676352490.164745][6271:6273] CHIP:DMG: } - [1676352490.164804][6271:6273] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFFA DataVersion: 2406349519 - [1676352490.164822][6271:6273] CHIP:TOO: EventList: 0 entries + ./chip-tool onoff read attribute-list 1 1 + + Verify "AttributeList" contains a list of mandatory attributes (value 0), + - Global attributes (value 65533, 65532, 65531, 65530, 65529 and 65528), + - Feature dependent attribute If OO.S.F00(LT) feature supports (Values 0x4000, 0x4001, 0x4002 and 0x4003) on the TH(Chip-tool) Log and Below is the sample log provided for the raspi platform: + + [1676289026.377401][4351:4353] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFFB DataVersion: 659547221 + [1676289026.377502][4351:4353] CHIP:TOO: AttributeList: 11 entries + [1676289026.377529][4351:4353] CHIP:TOO: [1]: 0 + [1676289026.377552][4351:4353] CHIP:TOO: [2]: 16384 + [1676289026.377575][4351:4353] CHIP:TOO: [3]: 16385 + [1676289026.377599][4351:4353] CHIP:TOO: [4]: 16386 + [1676289026.377622][4351:4353] CHIP:TOO: [5]: 16387 + [1676289026.377648][4351:4353] CHIP:TOO: [6]: 65528 + [1676289026.377673][4351:4353] CHIP:TOO: [7]: 65529 + [1676289026.377701][4351:4353] CHIP:TOO: [8]: 65530 + [1676289026.377720][4351:4353] CHIP:TOO: [9]: 65531 + [1676289026.377750][4351:4353] CHIP:TOO: [10]: 65532 + [1676289026.377772][4351:4353] CHIP:TOO: [11]: 65533 + [1676289026.377989][4351:4353] CHIP:EM: <<< [E:19140i M:46071945 (Ack:30183253)] (S) Msg TX to 1:0000000000 cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT @@ -143,10 +150,70 @@ tests: type: list contains: [64, 65, 66] - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored.3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool onoff read accepted-command-list 1 1 + + Verify "AcceptedCommandList" contains a list of mandatory commands (value 0, 1 and 2) + - If feature supports OO.S.F00(LT) list contains (values 0x40, 0x41 and 0x42) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1646045691.415739][36078:36083] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFF9DataVersion: 1805855192 + [1646045691.415819][36078:36083] CHIP:TOO: AcceptedCommandList: 6 entries + [1646045691.415876][36078:36083] CHIP:TOO: [1]: 0 + [1646045691.415901][36078:36083] CHIP:TOO: [2]: 1 + [1646045691.415925][36078:36083] CHIP:TOO: [3]: 2 + [1646045691.415950][36078:36083] CHIP:TOO: [4]: 64 + [1646045691.415973][36078:36083] CHIP:TOO: [5]: 65 + [1646045691.415997][36078:36083] CHIP:TOO: [6]: 66 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool onoff read generated-command-list 1 1 + + Verify "GeneratedCommandList" contains a list of supported commands, 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: + + [1650436601.944126][6139:6144] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFF8 DataVersion: 3082972176 + [1650436601.944272][6139:6144] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_OPCREDS_1_2.yaml b/src/app/tests/suites/certification/Test_TC_OPCREDS_1_2.yaml index a7a2561a78707e..9debb492a15792 100644 --- a/src/app/tests/suites/certification/Test_TC_OPCREDS_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPCREDS_1_2.yaml @@ -35,7 +35,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision from DUT" - PICS: OPCREDS.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -44,7 +43,6 @@ tests: type: int16u - label: "Step 3: TH reads the FeatureMap from DUT" - PICS: OPCREDS.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -53,7 +51,6 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" - PICS: PICS_EVENT_LIST_ENABLED && OPCREDS.S.Afffb command: "readAttribute" attribute: "AttributeList" response: @@ -64,31 +61,6 @@ tests: 0xFFFD, 0xFFFC, 0xFFFB, - 0xFFFA, - 0xFFF9, - 0xFFF8, - 0x00, - 0x01, - 0x02, - 0x03, - 0x04, - 0x05, - ] - - #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - - label: "Step 4a: TH reads AttributeList from DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && OPCREDS.S.Afffb" - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [ - 0xFFFD, - 0xFFFC, - 0xFFFB, - 0xFFF9, 0xFFF8, 0x00, @@ -134,36 +106,7 @@ tests: [1656324429.813697][17795:17800] CHIP:TOO: [11]: 65533 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && OPCREDS.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool operationalcredentials read event-list 1 0 - - Verify " EventList " on the TH(Chip-tool) Log: - Below is the example value which is observed in the RPI platform the value may be differ based on the dut implementation. - - [1677044259.559572][29732:29734] CHIP:DMG: } - [1677044259.559655][29732:29734] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFA DataVersion: 806612356 - [1677044259.560285][29732:29734] CHIP:TOO: EventList: 0 entries - [1677044259.560354][29732:29734] CHIP:EM: <<< [E:35511i S:22620 M:102340651 (Ack:219865295)] (S) Msg TX to 1:0000000000000001 [682F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1677044259.560369][29732:29734] CHIP:IN: (S) Sending msg 102340651 on secure session with LSID: 22620 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && OPCREDS.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -172,7 +115,6 @@ tests: value: "y" - label: "Step 6a: TH reads AcceptedCommandList from DUT" - PICS: OPCREDS.S.Afff9 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -209,7 +151,7 @@ tests: [1657021609.427165][7131:7136] CHIP:TOO: [8]: 11 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && OPCREDS.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -218,7 +160,6 @@ tests: value: "y" - label: "Step 7a: TH reads GeneratedCommandList from DUT" - PICS: OPCREDS.S.Afff8 command: "readAttribute" attribute: "GeneratedCommandList" response: @@ -250,7 +191,7 @@ tests: [1651215270.029112][3260:3265] CHIP:TOO: [4]: 8 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && OPCREDS.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml index 6e107e0eea976c..82c820a2faf005 100644 --- a/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml @@ -12,7 +12,7 @@ # See the License for the specific language governing permissions and # limitations under the License. -name: xx.1.1. [TC-OPSTATE-1.1] Global attributes with server as DUT +name: 201.1.1. [TC-OPSTATE-1.1] Global Attributes with DUT as Server PICS: - OPSTATE.S @@ -48,17 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [0, 1, 3, 4, 5, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -77,25 +66,70 @@ tests: type: list contains: [2] - - label: "Step 5a: TH reads from the DUT the EventList attribute." - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x00] - + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: - "Step 5b: TH reads from the DUT the optional - event(OperationCompletion) in EventList." - PICS: PICS_EVENT_LIST_ENABLED && OPSTATE.S.E01 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x01] + "Step 4c: TH reads AttributeList attribute from DUT. 1.The list MAY + contain values in the Manufacturer Extensible Identifier (MEI) range: + (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT + contain any values in the Test Vendor or invalid range: (0x0000_5000 - + 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool operationalstate read attribute-list 1 1 + + Verify " AttributeList " value consists the list of mandatory attributes (0, 1, 3, 4, 5, 65533, 65532, 65531, 65529, 65528) and it may include the optional attribute (2) on the TH(Chip-tool) Log: + Below is the sample log provided for the raspi platform: + + [1689672825.768926][16510:16512] CHIP:DMG: } + [1689672825.769078][16510:16512] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_FFFB DataVersion: 2102885775 + [1689672825.769134][16510:16512] CHIP:TOO: AttributeList: 12 entries + [1689672825.769153][16510:16512] CHIP:TOO: [1]: 0 + [1689672825.769160][16510:16512] CHIP:TOO: [2]: 1 + [1689672825.769166][16510:16512] CHIP:TOO: [3]: 2 + [1689672825.769172][16510:16512] CHIP:TOO: [4]: 3 + [1689672825.769179][16510:16512] CHIP:TOO: [5]: 4 + [1689672825.769185][16510:16512] CHIP:TOO: [6]: 5 + [1689672825.769192][16510:16512] CHIP:TOO: [7]: 65528 + [1689672825.769198][16510:16512] CHIP:TOO: [8]: 65529 + [1689672825.769204][16510:16512] CHIP:TOO: [9]: 65530 + [1689672825.769211][16510:16512] CHIP:TOO: [10]: 65531 + [1689672825.769217][16510:16512] CHIP:TOO: [11]: 65532 + [1689672825.769223][16510:16512] CHIP:TOO: [12]: 65533 + [1689672825.769288][16510:16512] CHIP:EM: <<< [E:46431i S:41930 M:194976396 (Ack:61934436)] (S) Msg TX to 1:0000000000000001 [BFDE] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1689672825.769302][16510:16512] CHIP:IN: (S) Sending msg 194976396 on secure session with LSID: 41930 + [1689672825.769356][16510:16512] CHIP:EM: Flushed pending ack for MessageCounter:61934436 on exchange 46431i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5a: TH reads from the DUT the EventList attribute." + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x00] + + # - label: + # "Step 5b: TH reads from the DUT the optional + # event(OperationCompletion) in EventList." + # PICS: PICS_EVENT_LIST_ENABLED && OPSTATE.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x01] - label: "Step 6a: Read the optional command(Start) in AcceptedCommandList" PICS: OPSTATE.S.C02 @@ -133,7 +167,51 @@ tests: type: list contains: [0, 3] - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool operationalstate read accepted-command-list 1 1 + + Verify " AcceptedCommandList " consists the list may include the optional commands(0, 1, 2,and 3) on the TH(Chip-tool) Log: + Below is the sample log provided for the raspi platform: + [1689672881.193903][16526:16528] CHIP:DMG: } + [1689672881.194022][16526:16528] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_FFF9 DataVersion: 2102885775 + [1689672881.194058][16526:16528] CHIP:TOO: AcceptedCommandList: 4 entries + [1689672881.194093][16526:16528] CHIP:TOO: [1]: 0 + [1689672881.194103][16526:16528] CHIP:TOO: [2]: 1 + [1689672881.194109][16526:16528] CHIP:TOO: [3]: 2 + [1689672881.194115][16526:16528] CHIP:TOO: [4]: 3 + [1689672881.194175][16526:16528] CHIP:EM: <<< [E:46466i S:132 M:218213214 (Ack:205218134)] (S) Msg TX to 1:0000000000000001 [BFDE] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1689672881.194189][16526:16528] CHIP:IN: (S) Sending msg 218213214 on secure session with LSID: 132 + [1689672881.194219][16526:16528] CHIP:EM: Flushed pending ack for MessageCounter:205218134 on exchange 46466i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" + PICS: + "!OPSTATE.S.C00 || !OPSTATE.S.C01 || !OPSTATE.S.C02 || !OPSTATE.S.C03" + command: "readAttribute" + attribute: "GeneratedCommandList" + response: + value: [] + constraints: + type: list + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" PICS: (OPSTATE.S.C00 || OPSTATE.S.C01 || OPSTATE.S.C02 || OPSTATE.S.C03) command: "readAttribute" attribute: "GeneratedCommandList" @@ -141,3 +219,35 @@ tests: constraints: type: list contains: [4] + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool operationalstate read generated-command-list 1 1 + + Verify "GeneratedCommandList" consists the list may include the optional commands(4) on the TH(Chip-tool) Log: + Below is the sample log provided for the raspi platform: + [1689672911.044845][16535:16537] CHIP:DMG: } + [1689672911.044936][16535:16537] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_FFF8 DataVersion: 2102885775 + [1689672911.044966][16535:16537] CHIP:TOO: GeneratedCommandList: 1 entries + [1689672911.044986][16535:16537] CHIP:TOO: [1]: 4 + [1689672911.045041][16535:16537] CHIP:EM: <<< [E:10854i S:1089 M:96850287 (Ack:64309924)] (S) Msg TX to 1:0000000000000001 [BFDE] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1689672911.045054][16535:16537] CHIP:IN: (S) Sending msg 96850287 on secure session with LSID: 1089 + [1689672911.045079][16535:16537] CHIP:EM: Flushed pending ack for MessageCounter:64309924 on exchange 10854i + [1689672911.045189][16535:16535] CHIP:CTL: Shutting down the commissioner + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_OPSTATE_2_1.yaml b/src/app/tests/suites/certification/Test_TC_OPSTATE_2_1.yaml index efe99c934acb11..fd2ca77e4de285 100644 --- a/src/app/tests/suites/certification/Test_TC_OPSTATE_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPSTATE_2_1.yaml @@ -25,8 +25,8 @@ config: tests: - label: "Note" - verifications: | - While verifying below test case we will get 0 and null value for few attributes, as per spec 0 and null value is default for those attributes. + verification: | + This is a simulated example log for instructional purposes only. In real scenarios, the actual log may vary depending on the feature implementation in Reference App. disabled: true - label: @@ -39,10 +39,9 @@ tests: - label: "Step 2: TH reads from the DUT the PhaseList attribute" PICS: OPSTATE.S.A0000 verification: | - ./chip-tool operationalstate read phase-list 1 1 - + ./chip-tool operationalstate read phase-list 1 1 Via the TH (chip-tool), verify: - - that PhaseList attribute value contains either null or a list of strings. + - that PhaseList attribute value contains either null or a list of strings. - that the list has no more than 32 entries. on TH(chip-tool) [1689673042.242432][16559:16561] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0000 DataVersion: 2102885775 @@ -55,7 +54,7 @@ tests: - label: "Step 3: TH reads from the DUT the CurrentPhase attribute" PICS: OPSTATE.S.A0001 verification: | - ./chip-tool operationalstate read current-phase 1 1 + ./chip-tool operationalstate read current-phase 1 1 Via the TH (chip-tool), verify: @@ -73,7 +72,7 @@ tests: 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 0 to 259200 @@ -91,7 +90,7 @@ tests: PICS: OPSTATE.S.A0003 verification: | ./chip-tool operationalstate read operational-state-list 1 1 - + Via the TH (chip-tool), verify: - the provided list contains the Error state (an entry with an ID of 0x03). - all entries include an ID (enum8) and a label (string) @@ -138,23 +137,238 @@ tests: [1689673213.434993][16591:16591] CHIP:CTL: Shutting down the commissioner disabled: true + - label: + "Step 6a: manually put the device in the Stopped(0x00) operational + state" + PICS: OPSTATE.S.A0004 && OPSTATE.S.M.ST_STOPPED + verification: | + manually put the device in the Stopped(0x00) operational state + disabled: true + + - label: "Step 6b: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 && OPSTATE.S.M.ST_STOPPED + verification: | + ./chip-tool operationalstate read operational-state 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Stopped(0x00) + + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 + [1690201842.479211][15020:15022] CHIP:DMG: } + [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 + [1690201842.479656][15020:15022] CHIP:TOO: OperationalState: 0 + [1690201842.479966][15020:15022] CHIP:EM: <<< [E:7640i S:22973 M:102288525 (Ack:157133280)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201842.480062][15020:15022] CHIP:IN: (S) Sending msg 102288525 on secure session with LSID: 22973 + [1690201842.480329][15020:15022] CHIP:EM: Flushed pending ack for MessageCounter:157133280 on exchange 7640i + [1690201842.480735][15020:15020] CHIP:CTL: Shutting down the commissioner + [1690201842.480807][15020:15020] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true + + - label: + "Step 6c: manually put the device in the Running(0x01) operational + state" + PICS: OPSTATE.S.A0004 && OPSTATE.S.M.ST_RUNNING + verification: | + manually put the device in the Running(0x01) operational state + disabled: true + + - label: "Step 6d: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 && OPSTATE.S.M.ST_RUNNING + verification: | + ./chip-tool operationalstate read operational-state 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Running(0x01) + + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 + [1690201842.479211][15020:15022] CHIP:DMG: } + [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 + [1690201842.479656][15020:15022] CHIP:TOO: OperationalState: 1 + [1690201842.479966][15020:15022] CHIP:EM: <<< [E:7640i S:22973 M:102288525 (Ack:157133280)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201842.480062][15020:15022] CHIP:IN: (S) Sending msg 102288525 on secure session with LSID: 22973 + [1690201842.480329][15020:15022] CHIP:EM: Flushed pending ack for MessageCounter:157133280 on exchange 7640i + [1690201842.480735][15020:15020] CHIP:CTL: Shutting down the commissioner + [1690201842.480807][15020:15020] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true + + - label: + "Step 6e: manually put the device in the Paused(0x02) operational + state" + PICS: OPSTATE.S.A0004 && OPSTATE.S.M.ST_PAUSED + verification: | + manually put the device in the Paused(0x02) operational state + disabled: true + + - label: "Step 6f: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 && OPSTATE.S.M.ST_PAUSED + verification: | + ./chip-tool operationalstate read operational-state 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Paused(0x02) + + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 + [1690201842.479211][15020:15022] CHIP:DMG: } + [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 + [1690201842.479656][15020:15022] CHIP:TOO: OperationalState: 2 + [1690201842.479966][15020:15022] CHIP:EM: <<< [E:7640i S:22973 M:102288525 (Ack:157133280)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201842.480062][15020:15022] CHIP:IN: (S) Sending msg 102288525 on secure session with LSID: 22973 + [1690201842.480329][15020:15022] CHIP:EM: Flushed pending ack for MessageCounter:157133280 on exchange 7640i + [1690201842.480735][15020:15020] CHIP:CTL: Shutting down the commissioner + [1690201842.480807][15020:15020] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true + + - label: + "Step 6g: manually put the device in the Error(0x03) operational state" + PICS: OPSTATE.S.A0004 && OPSTATE.S.M.ST_ERROR + verification: | + manually put the device in the Error(0x03) operational state + disabled: true + + - label: "Step 6h: TH reads from the DUT the OperationalState attribute" + PICS: OPSTATE.S.A0004 && OPSTATE.S.M.ST_ERROR + verification: | + ./chip-tool operationalstate read operational-state 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Error(0x03) + + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 + [1690201842.479211][15020:15022] CHIP:DMG: } + [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 + [1690201842.479656][15020:15022] CHIP:TOO: OperationalState: 3 + [1690201842.479966][15020:15022] CHIP:EM: <<< [E:7640i S:22973 M:102288525 (Ack:157133280)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201842.480062][15020:15022] CHIP:IN: (S) Sending msg 102288525 on secure session with LSID: 22973 + [1690201842.480329][15020:15022] CHIP:EM: Flushed pending ack for MessageCounter:157133280 on exchange 7640i + [1690201842.480735][15020:15020] CHIP:CTL: Shutting down the commissioner + [1690201842.480807][15020:15020] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true + - label: "Step 7: TH reads from the DUT the OperationalError attribute" PICS: OPSTATE.S.A0005 verification: | - ./chip-tool operationalstate read operationalerror 1 1 + ./chip-tool operationalstate read operational-state 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an instance of ErrorStateStruct and Verify the ErrorStateID is a defined error (NoError(0x00), UnableToStartOrResume(0x01), UnableToCompleteOperation(0x02), CommandInvalidInState(0x03)) or in the range 0x80 to 0xBF. + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 + [1690201842.479211][15020:15022] CHIP:DMG: } + [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 + [1690201842.479656][15020:15022] CHIP:TOO: OperationalState: 3 + [1690201842.479966][15020:15022] CHIP:EM: <<< [E:7640i S:22973 M:102288525 (Ack:157133280)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201842.480062][15020:15022] CHIP:IN: (S) Sending msg 102288525 on secure session with LSID: 22973 + [1690201842.480329][15020:15022] CHIP:EM: Flushed pending ack for MessageCounter:157133280 on exchange 7640i + [1690201842.480735][15020:15020] CHIP:CTL: Shutting down the commissioner + [1690201842.480807][15020:15020] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true - Via the TH (chip-tool), verify: - - the response includes an ID (enum8), a label (string), and additional details (string) - - if the label is null, verify the additional details is also null - - the provided ID is in the allowed range + - label: "Step 7a: manually put the device in the NoError(0x00) error state" + PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_NO_ERROR + verification: | + manually put the device in the NoError(0x00) error state + disabled: true + - label: "Step 7b: TH reads from the DUT the OperationalError attribute" + PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_NO_ERROR + verification: | + ./chip-tool operationalstate read operational-state 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to SeekingCharger(0x40) + + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 + [1690201842.479211][15020:15022] CHIP:DMG: } + [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 + [1690201842.479656][15020:15022] CHIP:TOO: OperationalState: 64 + [1690201842.479966][15020:15022] CHIP:EM: <<< [E:7640i S:22973 M:102288525 (Ack:157133280)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201842.480062][15020:15022] CHIP:IN: (S) Sending msg 102288525 on secure session with LSID: 22973 + [1690201842.480329][15020:15022] CHIP:EM: Flushed pending ack for MessageCounter:157133280 on exchange 7640i + [1690201842.480735][15020:15020] CHIP:CTL: Shutting down the commissioner + [1690201842.480807][15020:15020] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true + + - label: + "Step 7c: manually put the device in the UnableToStartOrResume(0x01) + error state" + PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME + verification: | + manually put the device in the UnableToStartOrResume(0x01) error state + disabled: true + + - label: "Step 7d: TH reads from the DUT the OperationalError attribute" + PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME + verification: | + ./chip-tool operationalstate read operational-state 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Charging(0x41) + + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 + [1690201842.479211][15020:15022] CHIP:DMG: } + [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 + [1690201842.479656][15020:15022] CHIP:TOO: OperationalState: 65 + [1690201842.479966][15020:15022] CHIP:EM: <<< [E:7640i S:22973 M:102288525 (Ack:157133280)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201842.480062][15020:15022] CHIP:IN: (S) Sending msg 102288525 on secure session with LSID: 22973 + [1690201842.480329][15020:15022] CHIP:EM: Flushed pending ack for MessageCounter:157133280 on exchange 7640i + [1690201842.480735][15020:15020] CHIP:CTL: Shutting down the commissioner + [1690201842.480807][15020:15020] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true + + - label: + "Step 7e: manually put the device in the + UnableToCompleteOperation(0x02) error state" + PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION + verification: | + manually put the device in the Docked(0x42) operational state + disabled: true + + - label: "Step 7f: TH reads from the DUT the OperationalError attribute" + PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION + verification: | + ./chip-tool operationalstate read operational-error 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Docked(0x42) + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 + [1690201842.479211][15020:15022] CHIP:DMG: } + [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 + [1690201842.479656][15020:15022] CHIP:TOO: OperationalState: 66 + [1690201842.479966][15020:15022] CHIP:EM: <<< [E:7640i S:22973 M:102288525 (Ack:157133280)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201842.480062][15020:15022] CHIP:IN: (S) Sending msg 102288525 on secure session with LSID: 22973 + [1690201842.480329][15020:15022] CHIP:EM: Flushed pending ack for MessageCounter:157133280 on exchange 7640i + [1690201842.480735][15020:15020] CHIP:CTL: Shutting down the commissioner + [1690201842.480807][15020:15020] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true + + - label: + "Step 7g: manually put the device in the CommandInvalidInState(0x03) + error state" + PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE + verification: | + ./chip-tool operationalstate read operational-error 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an instance of ErrorStateStruct and Verify the ErrorStateID is a defined error (NoError(0x00), UnableToStartOrResume(0x01), UnableToCompleteOperation(0x02), CommandInvalidInState(0x03), FailedToFindChargingDock(0x40), Stuck(0x41), DustBinMissing(0x42), DustBinFull(0x43), WaterTankEmpty(0x44), WaterTankMissing(0x45), WaterTankLidOpen(0x46), MopCleaningPadMissing(0x47)) or in the range 0x80 to 0xBF. + + + [1690201879.312424][15025:15027] CHIP:DMG: } + [1690201879.312754][15025:15027] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0005 DataVersion: 3675566847 + [1690201879.312892][15025:15027] CHIP:TOO: OperationalError: { + [1690201879.312953][15025:15027] CHIP:TOO: ErrorStateID: 0 + [1690201879.313009][15025:15027] CHIP:TOO: } + [1690201879.313334][15025:15027] CHIP:EM: <<< [E:36372i S:53703 M:124059394 (Ack:197234404)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201879.313431][15025:15027] CHIP:IN: (S) Sending msg 124059394 on secure session with LSID: 53703 + [1690201879.313647][15025:15027] CHIP:EM: Flushed pending ack for MessageCounter:197234404 on exchange 36372i + [1690201879.314067][15025:15025] CHIP:CTL: Shutting down the commissioner + [1690201879.314141][15025:15025] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1690201879.314334][15025:15025] CHIP:CTL: Shutting down the controller + disabled: true + + - label: "Step 7h: TH reads from the DUT the OperationalError attribute" + PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE + verification: | + ./chip-tool operationalstate read operational-error 1 1 + Via the TH (chip-tool), Verify that the DUT response contains an instance of ErrorStateStruct. This shall contain an ErrorStateId with a value of UnableToStartOrResume(0x01) - [1689673270.214241][16602:16604] CHIP:DMG: } - [1689673270.214318][16602:16604] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0005 DataVersion: 2102885775 - [1689673270.214346][16602:16604] CHIP:TOO: OperationalError: { - [1689673270.214362][16602:16604] CHIP:TOO: ErrorStateID: 0 - [1689673270.214369][16602:16604] CHIP:TOO: } - [1689673270.214427][16602:16604] CHIP:EM: <<< [E:28848i S:14033 M:90223554 (Ack:193224404)] (S) Msg TX to 1:0000000000000001 [BFDE] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1689673270.214439][16602:16604] CHIP:IN: (S) Sending msg 90223554 on secure session with LSID: 14033 - [1689673270.214465][16602:16604] CHIP:EM: Flushed pending ack for MessageCounter:193224404 on exchange 28848i + [1690201879.312424][15025:15027] CHIP:DMG: } + [1690201879.312754][15025:15027] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0005 DataVersion: 3675566847 + [1690201879.312892][15025:15027] CHIP:TOO: OperationalError: { + [1690201879.312953][15025:15027] CHIP:TOO: ErrorStateID: 1 + [1690201879.313009][15025:15027] CHIP:TOO: } + [1690201879.313334][15025:15027] CHIP:EM: <<< [E:36372i S:53703 M:124059394 (Ack:197234404)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201879.313431][15025:15027] CHIP:IN: (S) Sending msg 124059394 on secure session with LSID: 53703 + [1690201879.313647][15025:15027] CHIP:EM: Flushed pending ack for MessageCounter:197234404 on exchange 36372i + [1690201879.314067][15025:15025] CHIP:CTL: Shutting down the commissioner + [1690201879.314141][15025:15025] CHIP:CTL: Stopping commissioning discovery over DNS-SD + [1690201879.314334][15025:15025] CHIP:CTL: Shutting down the controller disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml index 3cc04f15d736cf..496f00107c4fd6 100644 --- a/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -313,16 +303,63 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list MAY + contain values in the Manufacturer Extensible Identifier (MEI) range: + (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT + contain any values in the Test Vendor or invalid range: (0x0000_5000 - + 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool ozoneconcentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1687331790.438405][3951:3953] CHIP:TOO: AttributeList: 17 entries + [1687331790.438477][3951:3953] CHIP:TOO: [1]: 0 + [1687331790.438538][3951:3953] CHIP:TOO: [2]: 1 + [1687331790.438595][3951:3953] CHIP:TOO: [3]: 2 + [1687331790.438652][3951:3953] CHIP:TOO: [4]: 3 + [1687331790.438736][3951:3953] CHIP:TOO: [5]: 4 + [1687331790.438796][3951:3953] CHIP:TOO: [6]: 5 + [1687331790.438853][3951:3953] CHIP:TOO: [7]: 6 + [1687331790.438937][3951:3953] CHIP:TOO: [8]: 7 + [1687331790.438995][3951:3953] CHIP:TOO: [9]: 8 + [1687331790.439075][3951:3953] CHIP:TOO: [10]: 9 + [1687331790.439139][3951:3953] CHIP:TOO: [11]: 10 + [1687331790.439203][3951:3953] CHIP:TOO: [12]: 65528 + [1687331790.439285][3951:3953] CHIP:TOO: [13]: 65529 + [1687331790.439348][3951:3953] CHIP:TOO: [14]: 65530 + [1687331790.439405][3951:3953] CHIP:TOO: [15]: 65531 + [1687331790.439485][3951:3953] CHIP:TOO: [16]: 65532 + [1687331790.439544][3951:3953] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,10 +367,62 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool ozoneconcentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0415 Attribute 0x0000_FFF9 DataVersion: 2247512014 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool ozoneconcentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0415 Attribute 0x0000_FFF8 DataVersion: 2247512014 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml index 485b7492ddd9d2..c85e44e8fa425b 100644 --- a/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: TH reads the ClusterRevision attribute from the DUT" - PICS: PCC.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -42,8 +41,8 @@ tests: - label: "Step 3a: TH reads the FeatureMap attribute from the DUT" PICS: - " PCC.S.Afffc && !PCC.S.F00 && !PCC.S.F01 && !PCC.S.F02 && !PCC.S.F03 - && !PCC.S.F04 && !PCC.S.F05 && !PCC.S.F06 " + " !PCC.S.F00 && !PCC.S.F01 && !PCC.S.F02 && !PCC.S.F03 && !PCC.S.F04 + && !PCC.S.F05 && !PCC.S.F06 " command: "readAttribute" attribute: "FeatureMap" response: @@ -54,7 +53,7 @@ tests: - label: "Step 3b: Given PCC.S.F00(PRSCONST) ensure featuremap has the correct bit set" - PICS: PCC.S.F00 && PCC.S.Afffc + PICS: PCC.S.F00 command: "readAttribute" attribute: "FeatureMap" response: @@ -65,7 +64,7 @@ tests: - label: "Step 3c: Given PCC.S.F01(PRSCOMP) ensure featuremap has the correct bit set" - PICS: PCC.S.F01 && PCC.S.Afffc + PICS: PCC.S.F01 command: "readAttribute" attribute: "FeatureMap" response: @@ -76,7 +75,7 @@ tests: - label: "Step 3d: Given PCC.S.F02(FLW) ensure featuremap has the correct bit set" - PICS: PCC.S.F02 && PCC.S.Afffc + PICS: PCC.S.F02 command: "readAttribute" attribute: "FeatureMap" response: @@ -87,7 +86,7 @@ tests: - label: "Step 3e: Given PCC.S.F03(SPD) ensure featuremap has the correct bit set" - PICS: PCC.S.F03 && PCC.S.Afffc + PICS: PCC.S.F03 command: "readAttribute" attribute: "FeatureMap" response: @@ -98,7 +97,7 @@ tests: - label: "Step 3f: Given PCC.S.F04(TEMP) ensure featuremap has the correct bit set" - PICS: PCC.S.F04 && PCC.S.Afffc + PICS: PCC.S.F04 command: "readAttribute" attribute: "FeatureMap" response: @@ -109,7 +108,7 @@ tests: - label: "Step 3g: Given PCC.S.F05(AUTO) ensure featuremap has the correct bit set" - PICS: PCC.S.F05 && PCC.S.Afffc + PICS: PCC.S.F05 command: "readAttribute" attribute: "FeatureMap" response: @@ -120,7 +119,7 @@ tests: - label: "Step 3h: Given PCC.S.F06(LOCAL) ensure featuremap has the correct bit set" - PICS: PCC.S.F06 && PCC.S.Afffc + PICS: PCC.S.F06 command: "readAttribute" attribute: "FeatureMap" response: @@ -129,31 +128,6 @@ tests: hasMasksSet: [0x40] - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [ - 0, - 1, - 2, - 17, - 18, - 19, - 32, - 65528, - 65529, - 65530, - 65531, - 65532, - 65533, - ] - - - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: "!PICS_EVENT_LIST_ENABLED && PCC.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -165,7 +139,7 @@ tests: - label: "Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the DUT" - PICS: PCC.S.A0003 && PCC.S.Afffb + PICS: PCC.S.A0003 command: "readAttribute" attribute: "AttributeList" response: @@ -176,7 +150,7 @@ tests: - label: "Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the DUT" - PICS: PCC.S.A0004 && PCC.S.Afffb + PICS: PCC.S.A0004 command: "readAttribute" attribute: "AttributeList" response: @@ -187,7 +161,7 @@ tests: - label: "Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the DUT" - PICS: PCC.S.A0005 && PCC.S.Afffb + PICS: PCC.S.A0005 command: "readAttribute" attribute: "AttributeList" response: @@ -198,7 +172,7 @@ tests: - label: "Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the DUT" - PICS: PCC.S.A0006 && PCC.S.Afffb + PICS: PCC.S.A0006 command: "readAttribute" attribute: "AttributeList" response: @@ -209,7 +183,7 @@ tests: - label: "Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the DUT" - PICS: PCC.S.A0007 && PCC.S.Afffb + PICS: PCC.S.A0007 command: "readAttribute" attribute: "AttributeList" response: @@ -220,7 +194,7 @@ tests: - label: "Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the DUT" - PICS: PCC.S.A0008 && PCC.S.Afffb + PICS: PCC.S.A0008 command: "readAttribute" attribute: "AttributeList" response: @@ -231,7 +205,7 @@ tests: - label: "Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the DUT" - PICS: PCC.S.A0009 && PCC.S.Afffb + PICS: PCC.S.A0009 command: "readAttribute" attribute: "AttributeList" response: @@ -242,7 +216,7 @@ tests: - label: "Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the DUT" - PICS: PCC.S.A000a && PCC.S.Afffb + PICS: PCC.S.A000a command: "readAttribute" attribute: "AttributeList" response: @@ -253,7 +227,7 @@ tests: - label: "Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the DUT" - PICS: PCC.S.A000b && PCC.S.Afffb + PICS: PCC.S.A000b command: "readAttribute" attribute: "AttributeList" response: @@ -264,7 +238,7 @@ tests: - label: "Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the DUT" - PICS: PCC.S.A000c && PCC.S.Afffb + PICS: PCC.S.A000c command: "readAttribute" attribute: "AttributeList" response: @@ -275,7 +249,7 @@ tests: - label: "Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT" - PICS: PCC.S.A0010 && PCC.S.Afffb + PICS: PCC.S.A0010 command: "readAttribute" attribute: "AttributeList" response: @@ -286,7 +260,7 @@ tests: - label: "Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT" - PICS: PCC.S.A0014 && PCC.S.Afffb + PICS: PCC.S.A0014 command: "readAttribute" attribute: "AttributeList" response: @@ -297,7 +271,7 @@ tests: - label: "Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from the DUT" - PICS: PCC.S.A0015 && PCC.S.Afffb + PICS: PCC.S.A0015 command: "readAttribute" attribute: "AttributeList" response: @@ -308,7 +282,7 @@ tests: - label: "Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT" - PICS: PCC.S.A0016 && PCC.S.Afffb + PICS: PCC.S.A0016 command: "readAttribute" attribute: "AttributeList" response: @@ -319,7 +293,7 @@ tests: - label: "Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList from the DUT" - PICS: PCC.S.A0017 && PCC.S.Afffb + PICS: PCC.S.A0017 command: "readAttribute" attribute: "AttributeList" response: @@ -330,7 +304,7 @@ tests: - label: "Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the DUT" - PICS: PCC.S.A0021 && PCC.S.Afffb + PICS: PCC.S.A0021 command: "readAttribute" attribute: "AttributeList" response: @@ -389,7 +363,7 @@ tests: [1676289423.471674][4494:4496] CHIP:EM: <<< [E:63825i M:222566558 (Ack:152045997)] (S) Msg TX to 1:00000000 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && PCC.S.Afffb + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -397,266 +371,206 @@ tests: - name: "expectedValue" value: "y" - - label: "Step 5a: TH reads EventList from DUT" - PICS: - "PICS_EVENT_LIST_ENABLED && PCC.S.Afffa && !PCC.S.E00 && !PCC.S.E01 - && !PCC.S.E02 && !PCC.S.E03 && !PCC.S.E04 && !PCC.S.E05 && !PCC.S.E06 - && !PCC.S.E07 && !PCC.S.E08 && !PCC.S.E09 && !PCC.S.E0a && !PCC.S.E0b - && !PCC.S.E0c && !PCC.S.E0d && !PCC.S.E0e && !PCC.S.E0f && !PCC.S.E10 " - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list - - - label: - "Step 5b: TH reads from the DUT the EventList optional - (SupplyVoltageLow)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E00 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x00] - - - label: - "Step 5c: TH reads from the DUT the EventList optional - (SupplyVoltageHigh)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E01 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x01] - - - label: - "Step 5d: TH reads from the DUT the EventList optional - (PowerMissingPhase)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E02 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x02] - - - label: - "Step 5e: TH reads from the DUT the EventList optional - (SystemPressureLow)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E03 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x03] - - - label: - "Step 5f: TH reads from the DUT the EventList optional - (SystemPressureHigh)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E04 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x04] - - - label: - "Step 5g: TH reads from the DUT the EventList optional - (DryRunning)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E05 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x05] - - - label: - "Step 5h: TH reads from the DUT the EventList optional - (MotorTemperatureHigh)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E06 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x06] - - - label: - "Step 5i: TH reads from the DUT the EventList optional - (PumpMotorFatalFailure)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E07 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x07] - - - label: - "Step 5j: TH reads from the DUT the EventList optional - (ElectronicTemperatureHigh)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E08 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x08] - - - label: - "Step 5k: TH reads from the DUT the EventList optional - (PumpBlocked)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E09 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x09] - - - label: - "Step 5l: TH reads from the DUT the EventList optional - (SensorFailure)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0a && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x0a] - - - label: - "Step 5m: TH reads from the DUT the EventList optional - (ElectronicNonFatalFailure)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0b && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x0b] - - - label: - "Step 5n: TH reads from the DUT the EventList optional - (ElectronicFatalFailure)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0c && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x0c] - - - label: - "Step 5o: TH reads from the DUT the EventList optional - (GeneralFault)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0d && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x0d] - - - label: - "Step 5p: TH reads from the DUT the EventList optional - (Leakage)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0e && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x0e] - - - label: - "Step 5q: TH reads from the DUT the EventList optional - (AirDetection)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0f && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x0f] - - - label: - "Step 5r: TH reads from the DUT the EventList optional - (TurbineOperation)attribute." - PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E10 && PCC.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x10] - - #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - - label: - "Step 5s: TH reads EventList attribute from DUT. 1.The list SHALL NOT - contain any additional values in the standard or scoped range: - (0x0000_0000 - 0x0000_00FF). 2. The list MAY contain values in the - Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), - these values SHALL be ignored. 3. The list SHALL NOT contain any - values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool pumpconfigurationandcontrol read event-list 1 1 - - On TH(chip-tool) Verify that the DUT response contains the EventList attribute and have the list of supported events: - The list MAY include these optional entries: - - 0x00: SHALL be included if and only if PCC.S.E0000(SupplyVoltageLow) - - 0x01: SHALL be included if and only if PCC.S.E0001(SupplyVoltageHigh) - - 0x02: SHALL be included if and only if PCC.S.E0002(PowerMissingPhase) - - 0x03: SHALL be included if and only if PCC.S.E0003(SystemPressureLow) - - 0x04: SHALL be included if and only if PCC.S.E0004(SystemPressureHigh) - - 0x05: SHALL be included if and only if PCC.S.E0005(DryRunning) - - 0x06: SHALL be included if and only if PCC.S.E0006(MotorTemperatureHigh) - - 0x07: SHALL be included if and only if PCC.S.E0007(PumpMotorFatalFailure) - - 0x08: SHALL be included if and only if PCC.S.E0008(ElectronicTemperatureHigh) - - 0x09: SHALL be included if and only if PCC.S.E0009(PumpBlocked) - - 0x0a: SHALL be included if and only if PCC.S.E000a(SensorFailure) - - 0x0b: SHALL be included if and only if PCC.S.E000b(ElectronicNonFatalFailure) - - 0x0c: SHALL be included if and only if PCC.S.E000c(ElectronicFatalFailure) - - 0x0d: SHALL be included if and only if PCC.S.E000d(GeneralFault) - - 0x0e: SHALL be included if and only if PCC.S.E000e(Leakage) - - 0x0f: SHALL be included if and only if PCC.S.E000f(AirDetection) - - 0x10: SHALL be included if and only if PCC.S.E0010(TurbineOperation) - - [1676465494.926366][27828:27830] CHIP:DMG: } - [1676465494.926925][27828:27830] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0200 Attribute 0x0000_FFFA DataVersion: 2921467772 - [1676465494.926969][27828:27830] CHIP:TOO: EventList: 12 entries - [1676465494.926980][27828:27830] CHIP:TOO: [1]: 0 - [1676465494.926987][27828:27830] CHIP:TOO: [2]: 1 - [1676465494.926994][27828:27830] CHIP:TOO: [3]: 2 - [1676465494.927000][27828:27830] CHIP:TOO: [4]: 3 - [1676465494.927007][27828:27830] CHIP:TOO: [5]: 4 - [1676465494.927013][27828:27830] CHIP:TOO: [6]: 5 - [1676465494.927020][27828:27830] CHIP:TOO: [7]: 6 - [1676465494.927026][27828:27830] CHIP:TOO: [8]: 7 - [1676465494.927037][27828:27830] CHIP:TOO: [9]: 8 - [1676465494.927043][27828:27830] CHIP:TOO: [10]: 9 - [1676465494.927049][27828:27830] CHIP:TOO: [11]: 10 - [1676465494.927056][27828:27830] CHIP:TOO: [12]: 11 - [1676465494.927151][27828:27830] CHIP:EM: <<< [E:22786i S:33761 M:187792061 (Ack:125860330)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676465494.927165][27828:27830] CHIP:IN: (S) Sending msg 187792061 on secure session with LSID: 33761 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && PCC.S.Afffa - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + #EventList disabled for 1.2 + # - label: "Step 5a: TH reads EventList from DUT" + # PICS: + # "PICS_EVENT_LIST_ENABLED && !PCC.S.E00 && !PCC.S.E01 && !PCC.S.E02 && + # !PCC.S.E03 && !PCC.S.E04 && !PCC.S.E05 && !PCC.S.E06 && !PCC.S.E07 && + # !PCC.S.E08 && !PCC.S.E09 && !PCC.S.E0a && !PCC.S.E0b && !PCC.S.E0c && + # !PCC.S.E0d && !PCC.S.E0e && !PCC.S.E0f && !PCC.S.E10 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + # - label: + # "Step 5b: TH reads from the DUT the EventList optional + # (SupplyVoltageLow)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x00] + + # - label: + # "Step 5c: TH reads from the DUT the EventList optional + # (SupplyVoltageHigh)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x01] + + # - label: + # "Step 5d: TH reads from the DUT the EventList optional + # (PowerMissingPhase)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E02 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x02] + + # - label: + # "Step 5e: TH reads from the DUT the EventList optional + # (SystemPressureLow)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E03 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x03] + + # - label: + # "Step 5f: TH reads from the DUT the EventList optional + # (SystemPressureHigh)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E04 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x04] + + # - label: + # "Step 5g: TH reads from the DUT the EventList optional + # (DryRunning)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E05 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x05] + + # - label: + # "Step 5h: TH reads from the DUT the EventList optional + # (MotorTemperatureHigh)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E06 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x06] + + # - label: + # "Step 5i: TH reads from the DUT the EventList optional + # (PumpMotorFatalFailure)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E07 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x07] + + # - label: + # "Step 5j: TH reads from the DUT the EventList optional + # (ElectronicTemperatureHigh)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E08 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x08] + + # - label: + # "Step 5k: TH reads from the DUT the EventList optional + # (PumpBlocked)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E09 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x09] + + # - label: + # "Step 5l: TH reads from the DUT the EventList optional + # (SensorFailure)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0a + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x0a] + + # - label: + # "Step 5m: TH reads from the DUT the EventList optional + # (ElectronicNonFatalFailure)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0b + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x0b] + + # - label: + # "Step 5n: TH reads from the DUT the EventList optional + # (ElectronicFatalFailure)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0c + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x0c] + + # - label: + # "Step 5o: TH reads from the DUT the EventList optional + # (GeneralFault)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0d + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x0d] + + # - label: + # "Step 5p: TH reads from the DUT the EventList optional + # (Leakage)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0e + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x0e] + + # - label: + # "Step 5q: TH reads from the DUT the EventList optional + # (AirDetection)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0f + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x0f] + + # - label: + # "Step 5r: TH reads from the DUT the EventList optional + # (TurbineOperation)attribute." + # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E10 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x10] - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list @@ -676,7 +590,7 @@ tests: [1650441052.209350][7168:7173] CHIP:TOO: AcceptedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && PCC.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -701,7 +615,7 @@ tests: [1650441182.692505][7174:7179] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0200 Attribute 0x0000_FFF8 DataVersion: 57416550 [1650441182.692600][7174:7179] CHIP:TOO: GeneratedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && PCC.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml index e514d3e4a5ffc3..9e83274358ab54 100644 --- a/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -313,16 +303,65 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm1concentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1685965930.706971][11849:11851] CHIP:TOO: AttributeList: 17 entries + [1685965930.707011][11849:11851] CHIP:TOO: [1]: 0 + [1685965930.707045][11849:11851] CHIP:TOO: [2]: 1 + [1685965930.707076][11849:11851] CHIP:TOO: [3]: 2 + [1685965930.707107][11849:11851] CHIP:TOO: [4]: 3 + [1685965930.707138][11849:11851] CHIP:TOO: [5]: 4 + [1685965930.707169][11849:11851] CHIP:TOO: [6]: 5 + [1685965930.707200][11849:11851] CHIP:TOO: [7]: 6 + [1685965930.707231][11849:11851] CHIP:TOO: [8]: 7 + [1685965930.707262][11849:11851] CHIP:TOO: [9]: 8 + [1685965930.707293][11849:11851] CHIP:TOO: [10]: 9 + [1685965930.707324][11849:11851] CHIP:TOO: [11]: 10 + [1685965930.707356][11849:11851] CHIP:TOO: [12]: 65528 + [1685965930.707387][11849:11851] CHIP:TOO: [13]: 65529 + [1685965930.707418][11849:11851] CHIP:TOO: [14]: 65530 + [1685965930.707449][11849:11851] CHIP:TOO: [15]: 65531 + [1685965930.707480][11849:11851] CHIP:TOO: [16]: 65532 + [1685965930.707511][11849:11851] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,10 +369,62 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm1concentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042C Attribute 0x0000_FFF9 DataVersion: 435533597 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm1concentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042C Attribute 0x0000_FFF8 DataVersion: 435533597 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml index 7e1a627a869fde..544be648c04d64 100644 --- a/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml @@ -39,7 +39,6 @@ tests: constraints: type: int16u - # TODO: Re-enable when #27248 is fixed - label: "Step 3a: Read the global attribute: FeatureMap and check for either bit 0 or 1 set" @@ -188,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -314,16 +303,65 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm25concentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1685965930.706971][11849:11851] CHIP:TOO: AttributeList: 17 entries + [1685965930.707011][11849:11851] CHIP:TOO: [1]: 0 + [1685965930.707045][11849:11851] CHIP:TOO: [2]: 1 + [1685965930.707076][11849:11851] CHIP:TOO: [3]: 2 + [1685965930.707107][11849:11851] CHIP:TOO: [4]: 3 + [1685965930.707138][11849:11851] CHIP:TOO: [5]: 4 + [1685965930.707169][11849:11851] CHIP:TOO: [6]: 5 + [1685965930.707200][11849:11851] CHIP:TOO: [7]: 6 + [1685965930.707231][11849:11851] CHIP:TOO: [8]: 7 + [1685965930.707262][11849:11851] CHIP:TOO: [9]: 8 + [1685965930.707293][11849:11851] CHIP:TOO: [10]: 9 + [1685965930.707324][11849:11851] CHIP:TOO: [11]: 10 + [1685965930.707356][11849:11851] CHIP:TOO: [12]: 65528 + [1685965930.707387][11849:11851] CHIP:TOO: [13]: 65529 + [1685965930.707418][11849:11851] CHIP:TOO: [14]: 65530 + [1685965930.707449][11849:11851] CHIP:TOO: [15]: 65531 + [1685965930.707480][11849:11851] CHIP:TOO: [16]: 65532 + [1685965930.707511][11849:11851] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -331,10 +369,62 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm25concentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042A Attribute 0x0000_FFF9 DataVersion: 3260928085 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7b: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm25concentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042A Attribute 0x0000_FFF8 DataVersion: 3260928085 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml index 6c3ebb0be05870..df0fac35a7f623 100644 --- a/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -313,16 +303,65 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm10concentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1685965930.706971][11849:11851] CHIP:TOO: AttributeList: 17 entries + [1685965930.707011][11849:11851] CHIP:TOO: [1]: 0 + [1685965930.707045][11849:11851] CHIP:TOO: [2]: 1 + [1685965930.707076][11849:11851] CHIP:TOO: [3]: 2 + [1685965930.707107][11849:11851] CHIP:TOO: [4]: 3 + [1685965930.707138][11849:11851] CHIP:TOO: [5]: 4 + [1685965930.707169][11849:11851] CHIP:TOO: [6]: 5 + [1685965930.707200][11849:11851] CHIP:TOO: [7]: 6 + [1685965930.707231][11849:11851] CHIP:TOO: [8]: 7 + [1685965930.707262][11849:11851] CHIP:TOO: [9]: 8 + [1685965930.707293][11849:11851] CHIP:TOO: [10]: 9 + [1685965930.707324][11849:11851] CHIP:TOO: [11]: 10 + [1685965930.707356][11849:11851] CHIP:TOO: [12]: 65528 + [1685965930.707387][11849:11851] CHIP:TOO: [13]: 65529 + [1685965930.707418][11849:11851] CHIP:TOO: [14]: 65530 + [1685965930.707449][11849:11851] CHIP:TOO: [15]: 65531 + [1685965930.707480][11849:11851] CHIP:TOO: [16]: 65532 + [1685965930.707511][11849:11851] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,10 +369,62 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm10concentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042D Attribute 0x0000_FFF9 DataVersion: 3341825536 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and + (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm10concentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042D Attribute 0x0000_FFF8 DataVersion: 3341825536 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_PRS_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PRS_1_1.yaml index 402ab1e2e773c2..7a724376723fc3 100644 --- a/src/app/tests/suites/certification/Test_TC_PRS_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PRS_1_1.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: Read the global attribute: ClusterRevision" - PICS: PRS.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -40,8 +39,8 @@ tests: constraints: type: int16u - - label: "Step 3a: Read the global attribute: FeatureMap" - PICS: PRS.S.Afffc && !PRS.S.F00 + - label: "Step 3: Read the global attribute: FeatureMap" + PICS: " !PRS.S.F00 " command: "readAttribute" attribute: "FeatureMap" response: @@ -50,27 +49,17 @@ tests: type: bitmap32 - label: - "Step 3b: Given PRS.S.F00(EXT) ensure featuremap has the correct bit + "Step 3: Given PRS.S.F00(EXT) ensure featuremap has the correct bit set" command: "readAttribute" attribute: "FeatureMap" - PICS: PRS.S.F00 && PRS.S.Afffc + PICS: PRS.S.F00 response: constraints: type: bitmap32 hasMasksSet: [0x1] - label: "Step 4a: Read the global mandatory attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED && PRS.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global mandatory attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED && PRS.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -80,7 +69,7 @@ tests: - label: "Step 4b: Read the optional attribute(ScaledValue) in AttributeList" - PICS: PRS.S.A0010 && PRS.S.Afffb + PICS: PRS.S.A0010 command: "readAttribute" attribute: "AttributeList" response: @@ -90,7 +79,7 @@ tests: - label: "Step 4c: Read the optional attribute(MinScaledValue) in AttributeList" - PICS: PRS.S.A0011 && PRS.S.Afffb + PICS: PRS.S.A0011 command: "readAttribute" attribute: "AttributeList" response: @@ -100,7 +89,7 @@ tests: - label: "Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList" - PICS: PRS.S.A0012 && PRS.S.Afffb + PICS: PRS.S.A0012 command: "readAttribute" attribute: "AttributeList" response: @@ -109,7 +98,7 @@ tests: contains: [18] - label: "Step 4e: Read the optional attribute(Scale) in AttributeList" - PICS: PRS.S.A0014 && PRS.S.Afffb + PICS: PRS.S.A0014 command: "readAttribute" attribute: "AttributeList" response: @@ -118,7 +107,7 @@ tests: contains: [20] - label: "Step 4f: Read the optional attribute(Tolerance) in AttributeList" - PICS: PRS.S.A0003 && PRS.S.Afffb + PICS: PRS.S.A0003 command: "readAttribute" attribute: "AttributeList" response: @@ -129,7 +118,7 @@ tests: - label: "Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList" - PICS: PRS.S.A0013 && PRS.S.Afffb + PICS: PRS.S.A0013 command: "readAttribute" attribute: "AttributeList" response: @@ -168,36 +157,7 @@ tests: [1676289596.056791][4588:4590] CHIP:EM: <<< [E:36844i M:6918347 (Ack:1600359)] (S) Msg TX to 1:000000000000 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && PRS.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool pressuremeasurement read event-list 1 1 - - - Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: - - [1676465567.401932][27872:27874] CHIP:DMG: } - [1676465567.402017][27872:27874] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0403 Attribute 0x0000_FFFA DataVersion: 2692357783 - [1676465567.402058][27872:27874] CHIP:TOO: EventList: 0 entries - [1676465567.402115][27872:27874] CHIP:EM: <<< [E:42541i S:49177 M:241708356 (Ack:116297335)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676465567.402128][27872:27874] CHIP:IN: (S) Sending msg 241708356 on secure session with LSID: 49177 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && PRS.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -224,7 +184,7 @@ tests: [1650367843.973242][4114:4119] CHIP:TOO: AcceptedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && PRS.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -251,7 +211,7 @@ tests: [1650367913.285193][4120:4125] CHIP:TOO: GeneratedCommandList: 0 entries cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && PRS.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml index 97fa3f103c57b9..5acc828f79523d 100644 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml @@ -48,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4: TH reads the AttributeList attribute from the DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: TH reads the AttributeList attribute from the DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -81,27 +71,27 @@ tests: constraints: type: list - #Manufacturer specific event IDs check not possible - - label: - "Step 7: Read EventList attribute from the DUT.For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." - verification: | - ./chip-tool powersourceconfiguration read event-list 1 0 - - Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: + #EvevntList disabled for 1.2 + # #Manufacturer specific event IDs check not possible + # - label: + # "Step 7: Read EventList attribute from the DUT.For this cluster the + # list is usually empty but it can contain manufacturer specific event + # IDs." + # verification: | + # ./chip-tool powersourceconfiguration read event-list 1 0 + # Verify "EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: - [1676465821.421939][28007:28009] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFA DataVersion: 1659126157 - [1676465821.421975][28007:28009] CHIP:TOO: EventList: 0 entries - [1676465821.422017][28007:28009] CHIP:EM: <<< [E:59109i S:5686 M:123325798 (Ack:214612225)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676465821.422029][28007:28009] CHIP:IN: (S) Sending msg 123325798 on secure session with LSID: 5686 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + # [1676465821.421939][28007:28009] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFA DataVersion: 1659126157 + # [1676465821.421975][28007:28009] CHIP:TOO: EventList: 0 entries + # [1676465821.422017][28007:28009] CHIP:EM: <<< [E:59109i S:5686 M:123325798 (Ack:214612225)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + # [1676465821.422029][28007:28009] CHIP:IN: (S) Sending msg 123325798 on secure session with LSID: 5686 + # cluster: "LogCommands" + # command: "UserPrompt" + # PICS: PICS_USER_PROMPT + # arguments: + # values: + # - name: "message" + # value: "Please enter 'y' for success" + # - name: "expectedValue" + # value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_3_1_Simulated.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_3_1_Simulated.yaml deleted file mode 100644 index 10e2c6d945ee2e..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_3_1_Simulated.yaml +++ /dev/null @@ -1,159 +0,0 @@ -# Copyright (c) 2021 Project CHIP Authors -# -# Licensed under the Apache License, Version 2.0 (the "License"); -# you may not use this file except in compliance with the License. -# You may obtain a copy of the License at -# -# http://www.apache.org/licenses/LICENSE-2.0 -# -# Unless required by applicable law or agreed to in writing, software -# distributed under the License is distributed on an "AS IS" BASIS, -# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. -# See the License for the specific language governing permissions and -# limitations under the License. - -name: 65.3.1. [TC-PSCFG-3.1] Attributes with client as DUT - -PICS: - - PSCFG.C - - PSCFG.C.AM-READ - - PSCFG.C.AO-READ - - PSCFG.C.AM-WRITE - - PSCFG.C.AO-WRITE - -config: - nodeId: 0x12344321 - cluster: "Power Source Configuration" - endpoint: 0 - -tests: - #- label: "Wait for the device to be commissioned" - # cluster: "DelayCommands" - # command: "WaitForCommissioning" - - - label: "Read attribute: Sources" - PICS: PSCFG.C.AM-READ - wait: "readAttribute" - attribute: "Sources" - - - label: - "Configure TH such that it implements mandatory and none of the - optional attributes of the server-side of the cluster, and that it - also reflects this in global attributes such as FeatureMap and - AttributeList. Commission DUT to TH again." - verification: | - Product maker needs to provide instructions for how to trigger the command on the DUT. For comparison, the DUT behavior for this test step can be simulated using chip-tool (when DUT is a commissioner/Client) - - - ./chip-tool powersourceconfiguration read attribute-list 1 0 - - Verify the attribute-list response the TH (all-cluster-minimal-app) log: - - [1663147271.622589][2750:2750] CHIP:IM: Received Read request - [1663147271.622666][2750:2750] CHIP:DMG: ReadRequestMessage = - [1663147271.622692][2750:2750] CHIP:DMG: { - [1663147271.622714][2750:2750] CHIP:DMG: AttributePathIBs = - [1663147271.622739][2750:2750] CHIP:DMG: [ - [1663147271.622789][2750:2750] CHIP:DMG: AttributePathIB = - [1663147271.622821][2750:2750] CHIP:DMG: { - [1663147271.622849][2750:2750] CHIP:DMG: Endpoint = 0x0, - [1663147271.622880][2750:2750] CHIP:DMG: Cluster = 0x2e, - [1663147271.622914][2750:2750] CHIP:DMG: Attribute = 0x0000_FFFB, - [1663147271.622943][2750:2750] CHIP:DMG: } - [1663147271.622971][2750:2750] CHIP:DMG: - [1663147271.622996][2750:2750] CHIP:DMG: ], - [1663147271.623023][2750:2750] CHIP:DMG: - [1663147271.623049][2750:2750] CHIP:DMG: isFabricFiltered = true, - [1663147271.623074][2750:2750] CHIP:DMG: InteractionModelRevision = 1 - [1663147271.623097][2750:2750] CHIP:DMG: }, - [1663147271.623168][2750:2750] CHIP:DMG: IM RH moving to [GeneratingReports] - [1663147271.623246][2750:2750] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 - [1663147271.623274][2750:2750] CHIP:DMG: Cluster 2e, Attribute fffb is dirty - - ./chip-tool powersourceconfiguration read feature-map 1 0 - - Verify the feature-map response the TH (all-cluster-minimal-app) log: - - [1676551043.650050][58234:58234] CHIP:IM: Received Read request - [1676551043.650118][58234:58234] CHIP:DMG: ReadRequestMessage = - [1676551043.650132][58234:58234] CHIP:DMG: { - [1676551043.650139][58234:58234] CHIP:DMG: AttributePathIBs = - [1676551043.650148][58234:58234] CHIP:DMG: [ - [1676551043.650155][58234:58234] CHIP:DMG: AttributePathIB = - [1676551043.650164][58234:58234] CHIP:DMG: { - [1676551043.650174][58234:58234] CHIP:DMG: Endpoint = 0x0, - [1676551043.650183][58234:58234] CHIP:DMG: Cluster = 0x2e, - [1676551043.650193][58234:58234] CHIP:DMG: Attribute = 0x0000_FFFC, - [1676551043.650203][58234:58234] CHIP:DMG: } - [1676551043.650218][58234:58234] CHIP:DMG: - [1676551043.650227][58234:58234] CHIP:DMG: ], - [1676551043.650241][58234:58234] CHIP:DMG: - [1676551043.650251][58234:58234] CHIP:DMG: isFabricFiltered = true, - [1676551043.650261][58234:58234] CHIP:DMG: InteractionModelRevision = 1 - [1676551043.650269][58234:58234] CHIP:DMG: }, - - - ./chip-tool powersourceconfiguration read sources 1 0 - - verify the " sources response" on the TH (all-cluster-minimal-app) log: - - [1650881032.387446][2715:2715] CHIP:IM: Received Read request - [1650881032.387500][2715:2715] CHIP:DMG: ReadRequestMessage = - [1650881032.387527][2715:2715] CHIP:DMG: { - [1650881032.387549][2715:2715] CHIP:DMG: AttributePathIBs = - [1650881032.387578][2715:2715] CHIP:DMG: [ - [1650881032.387602][2715:2715] CHIP:DMG: AttributePathIB = - [1650881032.387629][2715:2715] CHIP:DMG: { - [1650881032.387657][2715:2715] CHIP:DMG: Endpoint = 0x0, - [1650881032.387690][2715:2715] CHIP:DMG: Cluster = 0x2e, - [1650881032.387722][2715:2715] CHIP:DMG: Attribute = 0x0000_0000, - [1650881032.387750][2715:2715] CHIP:DMG: } - [1650881032.387781][2715:2715] CHIP:DMG: - [1650881032.387807][2715:2715] CHIP:DMG: ], - [1650881032.387836][2715:2715] CHIP:DMG: - [1650881032.387862][2715:2715] CHIP:DMG: isFabricFiltered = true, - [1650881032.387887][2715:2715] CHIP:DMG: InteractionModelRevision = 1 - [1650881032.387910][2715:2715] CHIP:DMG: }, - [1650881032.387979][2715:2715] CHIP:DMG: IM RH moving to [GeneratingReports] - [1650881032.388058][2715:2715] CHIP:DMG: Building Reports for ReadHandler with LastReportGeneration = 0 DirtyGeneration = 0 - [1650881032.388087][2715:2715] CHIP:DMG: Cluster 2e, Attribute 0 is dirty - [1650881032.388109][2715:2715] CHIP:DMG: Reading attribute: Cluster=0x0000_002E Endpoint=0 AttributeId=0x0000_0000 (expanded=0) - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: - "DUT reads all supported optional attributes from TH one at a time in - a manufacturer specific order" - verification: | - This cluster doesn't have any optional attribute - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" - - - label: - "DUT writes a suitable value to all supported optional attributes on - the TH one at a time in a manufacturer specific order" - verification: | - This cluster doesn't have any writable attributes - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_SKIP_SAMPLE_APP - arguments: - values: - - name: "message" - value: "Enter 'y' after success" - - name: "expectedValue" - value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml index a4173700ab36e5..7339e98fb89c23 100644 --- a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml @@ -93,17 +93,6 @@ tests: hasMasksSet: [0x2, 0x8] - label: "Step 4: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [0, 1, 2, 0x1f, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -171,69 +160,70 @@ tests: constraints: type: list - - label: "Step 7a: Read the global attribute: EventList" - PICS: "PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 " - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list - - - label: "Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList" - PICS: PICS_EVENT_LIST_ENABLED && PS.S.E00 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0] - - - label: "Step 7c: Read PS.S.E01(BatFaultChange) event in EventList" - PICS: PICS_EVENT_LIST_ENABLED && PS.S.E01 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1] - - - label: "Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList" - PICS: PICS_EVENT_LIST_ENABLED && PS.S.E02 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [2] - - #Manufacturer specific event IDs check not possible - - label: - "Step 7e: Read EventList attribute from the DUT.For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." - verification: | - ./chip-tool powersource read event-list 1 1 - - On TH(chip-tool), Verify that the DUT response provides a list of supported events. This list can be empty or contain following optional event IDs: - if PS.S.E00(WiredFaultChange) : 0 - if PS.S.E01(BatFaultChange): 1 - if PS.S.E02(BatChargeFaultChange): 2 - Optionally the list can also contain manufacturer specific event IDs. - - [1676465733.563197][27987:27989] CHIP:DMG: } - [1676465733.563336][27987:27989] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_002F Attribute 0x0000_FFFA DataVersion: 2315782406 - [1676465733.563366][27987:27989] CHIP:TOO: EventList: 1 entries - [1676465733.563377][27987:27989] CHIP:TOO: [1]: 1 - [1676465733.563449][27987:27989] CHIP:EM: <<< [E:56136i S:18318 M:225491668 (Ack:80009006)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676465733.563464][27987:27989] CHIP:IN: (S) Sending msg 225491668 on secure session with LSID: 18318 - [1676465733.563514][27987:27989] CHIP:EM: Flushed pending ack for MessageCounter:80009006 on exchange 56136i - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + #EventList disabled for 1.2 + # - label: "Step 7a: Read the global attribute: EventList" + # PICS: "PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + # - label: "Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList" + # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0] + + # - label: "Step 7c: Read PS.S.E01(BatFaultChange) event in EventList" + # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1] + + # - label: "Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList" + # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E02 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [2] + + # #Manufacturer specific event IDs check not possible + # - label: + # "Step 7e: Read EventList attribute from the DUT.For this cluster the + # list is usually empty but it can contain manufacturer specific event + # IDs." + # verification: | + # ./chip-tool powersource read event-list 1 1 + + # On TH(chip-tool), Verify that the DUT response provides a list of supported events. This list can be empty or contain following optional event IDs: + # if PS.S.E00(WiredFaultChange) : 0 + # if PS.S.E01(BatFaultChange): 1 + # if PS.S.E02(BatChargeFaultChange): 2 + # Optionally the list can also contain manufacturer specific event IDs. + + # [1676465733.563197][27987:27989] CHIP:DMG: } + # [1676465733.563336][27987:27989] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_002F Attribute 0x0000_FFFA DataVersion: 2315782406 + # [1676465733.563366][27987:27989] CHIP:TOO: EventList: 1 entries + # [1676465733.563377][27987:27989] CHIP:TOO: [1]: 1 + # [1676465733.563449][27987:27989] CHIP:EM: <<< [E:56136i S:18318 M:225491668 (Ack:80009006)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + # [1676465733.563464][27987:27989] CHIP:IN: (S) Sending msg 225491668 on secure session with LSID: 18318 + # [1676465733.563514][27987:27989] CHIP:EM: Flushed pending ack for MessageCounter:80009006 on exchange 56136i + # cluster: "LogCommands" + # command: "UserPrompt" + # PICS: PICS_USER_PROMPT + # arguments: + # values: + # - name: "message" + # value: "Please enter 'y' for success" + # - name: "expectedValue" + # value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_PS_2_1.yaml b/src/app/tests/suites/certification/Test_TC_PS_2_1.yaml index bbb1476278d079..f03d09dd85779d 100644 --- a/src/app/tests/suites/certification/Test_TC_PS_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PS_2_1.yaml @@ -252,7 +252,7 @@ tests: attribute: "BatCommonDesignation" response: constraints: - type: int32u + type: enum16 minValue: 0 maxValue: 80 @@ -284,7 +284,7 @@ tests: attribute: "BatApprovedChemistry" response: constraints: - type: int32u + type: enum16 minValue: 0 maxValue: 32 diff --git a/src/app/tests/suites/certification/Test_TC_REFALM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_REFALM_1_1.yaml index 57410bc6a0eed5..6f0cb7de18d797 100644 --- a/src/app/tests/suites/certification/Test_TC_REFALM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_REFALM_1_1.yaml @@ -75,20 +75,6 @@ tests: [1689677267.384931][18335:18337] CHIP:IN: (S) Sending msg 71138788 on secure session with LSID: 49245 disabled: true - - label: "Step 5: TH reads from the DUT the EventList attribute." - verification: | - ./chip-tool refrigeratoralarm read event-list 1 1 - Verify " EventList attribute " consists the list may contain optional events(1) on the TH(Chip-tool) Log: - Below is the sample log provided for the raspi platform: - - [1689677416.105596][18367:18369] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0057 Attribute 0x0000_FFFA DataVersion: 1517282962 - [1689677416.105625][18367:18369] CHIP:TOO: EventList: 1 entries - [1689677416.105635][18367:18369] CHIP:TOO: [1]: 0 - [1689677416.105696][18367:18369] CHIP:EM: <<< [E:51484i S:36714 M:192916227 (Ack:1705890)] (S) Msg TX to 1:0000000000000001 [BFDE] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1689677416.105710][18367:18369] CHIP:IN: (S) Sending msg 192916227 on secure session with LSID: 36714 - [1689677416.105737][18367:18369] CHIP:EM: Flushed pending ack for MessageCounter:1705890 on exchange 51484i - disabled: true - - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute." verification: | ./chip-tool refrigeratoralarm read accepted-command-list 1 1 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 108b767c66978f..ac82c955979496 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 @@ -33,21 +33,26 @@ tests: - label: "Step 2: Ensure that the door on the DUT is closed" verification: | - + Ensure that the door on the DUT is closed disabled: true - label: "Step 3: TH reads from the DUT the State attribute" PICS: REFALM.S.A0002 verification: | - Verify that the DUT response contains a 32-bit value with bit 0 set to 0 + ./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. + + [1688447820.603249][4247:4249] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0057 Attribute 0x0000_0002 DataVersion: 1795162772 + [1688447820.603415][4247:4249] CHIP:TOO: State: 1 + [1688447820.603708][4247:4249] CHIP:EM: <<< [E:2198i S:4260 M:156565261 (Ack:46517349)] (S) Msg TX to 1:0000000000000001 [10DB] --- Type 0000:10 (SecureChannel:StandaloneAck) disabled: true - label: "Step 4: Manually open the door on the DUT" verification: | - + Manually open the door on the DUT disabled: true - - label: "Step 5: after a few seconds, TH reads State attribute from DUT" + - label: "Step 5: Wait for the time defined in PIXIT.REFALM.AlarmThreshold" verification: | Wait for the time defined in PIXIT.REFALM.AlarmThreshold disabled: true @@ -55,46 +60,72 @@ tests: - label: "Step 6: TH reads from the DUT the State attribute" PICS: REFALM.S.A0002 verification: | - Verify that the DUT response contains a 32-bit value with bit 0 set to 1 + ./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. + + [1688447820.603249][4247:4249] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0057 Attribute 0x0000_0002 DataVersion: 1795162772 + [1688447820.603415][4247:4249] CHIP:TOO: State: 1 + [1688447820.603708][4247:4249] CHIP:EM: <<< [E:2198i S:4260 M:156565261 (Ack:46517349)] (S) Msg TX to 1:0000000000000001 [10DB] --- Type 0000:10 (SecureChannel:StandaloneAck) disabled: true - label: "Step 7: Ensure that the door on the DUT is closed" verification: | - + Ensure that the door on the DUT is closed disabled: true - label: "Step 8: TH reads from the DUT the State attribute" PICS: REFALM.S.A0002 verification: | - Verify that the DUT response contains a 32-bit value with bit 0 set to 0 + ./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. + + [1688447820.603249][4247:4249] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0057 Attribute 0x0000_0002 DataVersion: 1795162772 + [1688447820.603415][4247:4249] CHIP:TOO: State: 0 + [1688447820.603708][4247:4249] CHIP:EM: <<< [E:2198i S:4260 M:156565261 (Ack:46517349)] (S) Msg TX to 1:0000000000000001 [10DB] --- Type 0000:10 (SecureChannel:StandaloneAck) disabled: true - label: "Step 9: TH sends Reset command to the DUT" PICS: REFALM.S.C00.Rsp verification: | - Verify DUT responds w/ status UNSUPPORTED_COMMAND(0x81) + Reset command is not implemeted in Chip-tool disabled: true - label: "Step 10: TH sends ModifyEnabledAlarms command to the DUT" PICS: REFALM.S.C01.Rsp verification: | - Verify DUT responds w/ status UNSUPPORTED_COMMAND(0x81) + ModifyEnabledAlarms is not implemeted in Chip-tool disabled: true - label: "Step 11: Set up subscription to the Notify event." PICS: REFALM.S.E00 && REFALM.S.A0002 verification: | - Verify that the DUT response contains a 32-bit value with bit 0 set to 0 + Please use Interactive mode to subscribe the OperationalError event + Here the command to enter interactive mode after provision :- + ./chip-tool interactive start + + Please subscribe to the Notify event by sending below mentioned command + refrigeratoralarm subscribe-event notify 2 10 1 1 + + [1690959967.087585][3549:3551] CHIP:EM: Rxd Ack; Removing MessageCounter:144404037 from Retrans Table on exchange 19895i + [1690959967.087651][3549:3551] CHIP:DMG: ReportDataMessage = + [1690959967.087684][3549:3551] CHIP:DMG: { + [1690959967.087712][3549:3551] CHIP:DMG: SubscriptionId = 0x959257ec, + [1690959967.087743][3549:3551] CHIP:DMG: InteractionModelRevision = 1 + [1690959967.087770][3549:3551] CHIP:DMG: } + [1690959967.087813][3549:3551] CHIP:DMG: MoveToState ReadClient[0xffff80010ac0]: Moving to [AwaitingSu] + [1690959967.087923][3549:3551] CHIP:EM: <<< [E:19895i S:58037 M:144404038 (Ack:133694741)] (S) Msg TX to 1:0000000000000001 [7C8C] --- Type 0001:01 (IM:StatusResponse) + [1690959967.087966][3549:3551] CHIP:IN: (S) Sending msg 144404038 on secure session with LSID: 58037 disabled: true - label: "Step 12: Repeat steps 4 then 5" PICS: REFALM.S.E00 verification: | - After step 5 (repeated), receive a Notify event with the State attribute bit 0 set to 1. + Repeat steps 4 - Manually open the door on the DUT + then 5 - Wait for the time defined in PIXIT.REFALM.AlarmThreshold disabled: true - label: "Step 13: Repeat step 7" PICS: REFALM.S.E00 verification: | - Receive a Notify event with the State attribute bit 0 set to 0. + Repeat step 7 - that is Ensure that the door on the DUT is closed disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml index 59d78f962099e6..fcd7d2e044a58b 100644 --- a/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml @@ -48,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -90,26 +80,27 @@ tests: constraints: type: list - #Manufacturer specific event IDs check not possible - - label: - "Step 7: Read EventList attribute from the DUT.For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." - verification: | - ./chip-tool relativehumiditymeasurement read event-list 1 1 + #EventList disabled for 1.2 + # #Manufacturer specific event IDs check not possible + # - label: + # "Step 7: Read EventList attribute from the DUT.For this cluster the + # list is usually empty but it can contain manufacturer specific event + # IDs." + # verification: | + # ./chip-tool relativehumiditymeasurement read event-list 1 1 - Verify " EventList " consists the list of supported events, in this cluster in RPI the value is 0 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + # Verify " EventList " consists the list of supported events, in this cluster in RPI the value is 0 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - [1676357956.011759][8095:8097] CHIP:DMG: } - [1676357956.011914][8095:8097] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0405 Attribute 0x0000_FFFA DataVersion: 3619476420 - [1676357956.011967][8095:8097] CHIP:TOO: EventList: 0 entries - cluster: "LogCommands" - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + # [1676357956.011759][8095:8097] CHIP:DMG: } + # [1676357956.011914][8095:8097] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0405 Attribute 0x0000_FFFA DataVersion: 3619476420 + # [1676357956.011967][8095:8097] CHIP:TOO: EventList: 0 entries + # cluster: "LogCommands" + # cluster: "LogCommands" + # command: "UserPrompt" + # PICS: PICS_USER_PROMPT + # arguments: + # values: + # - name: "message" + # value: "Please enter 'y' for success" + # - name: "expectedValue" + # value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml index 87ff6e151b4ef5..d705f25085987b 100644 --- a/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -313,16 +303,65 @@ tests: type: list excludes: [10] - - label: "Step 5: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4l: TH reads the AttributeList attribute from the DUT. 1.The + list SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) + 2.The list MAY contain values in the Manufacturer Extensible + Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. + 3.The list SHALL NOT contain any values in the Test Vendor or invalid + range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool radonconcentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1687339472.989878][5068:5070] CHIP:TOO: AttributeList: 17 entries + [1687339472.989951][5068:5070] CHIP:TOO: [1]: 0 + [1687339472.990012][5068:5070] CHIP:TOO: [2]: 1 + [1687339472.990070][5068:5070] CHIP:TOO: [3]: 2 + [1687339472.990128][5068:5070] CHIP:TOO: [4]: 3 + [1687339472.990186][5068:5070] CHIP:TOO: [5]: 4 + [1687339472.990243][5068:5070] CHIP:TOO: [6]: 5 + [1687339472.990301][5068:5070] CHIP:TOO: [7]: 6 + [1687339472.990358][5068:5070] CHIP:TOO: [8]: 7 + [1687339472.990415][5068:5070] CHIP:TOO: [9]: 8 + [1687339472.990473][5068:5070] CHIP:TOO: [10]: 9 + [1687339472.990531][5068:5070] CHIP:TOO: [11]: 10 + [1687339472.990590][5068:5070] CHIP:TOO: [12]: 65528 + [1687339472.990648][5068:5070] CHIP:TOO: [13]: 65529 + [1687339472.990707][5068:5070] CHIP:TOO: [14]: 65530 + [1687339472.990765][5068:5070] CHIP:TOO: [15]: 65531 + [1687339472.990824][5068:5070] CHIP:TOO: [16]: 65532 + [1687339472.990882][5068:5070] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,10 +369,64 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6b: Read the global attribute AcceptedCommandList. 1. The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3. The list SHALL NOT contain any + values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool radonconcentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042F Attribute 0x0000_FFF9 DataVersion: 3741862926 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool radonconcentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042F Attribute 0x0000_FFF8 DataVersion: 3741862926 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml index 2120365090be5e..259d2c4eb75f57 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml @@ -39,7 +39,7 @@ tests: constraints: type: int16u - - label: "TH reads the FeatureMap attribute from the DUT" + - label: "Step 3: TH reads the FeatureMap attribute from the DUT" PICS: " !RVCCLEANM.S.F00 " command: "readAttribute" attribute: "FeatureMap" @@ -49,8 +49,8 @@ tests: type: bitmap32 - label: - "Given RVCCLEANM.S.F00(DEPONOFF) ensure featuremap has the correct bit - set" + "Step 3: Given RVCCLEANM.S.F00(DEPONOFF) ensure featuremap has the + correct bit set" PICS: RVCCLEANM.S.F00 command: "readAttribute" attribute: "FeatureMap" @@ -60,16 +60,6 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -78,8 +68,8 @@ tests: contains: [0, 1, 65528, 65529, 65531, 65532, 65533] - label: - "TH reads the optional attribute(StartUpMode) in AttributeList from - the DUT" + "Step 4b: TH reads the optional attribute(StartUpMode) in + AttributeList from the DUT" PICS: RVCCLEANM.S.A0002 command: "readAttribute" attribute: "AttributeList" @@ -89,8 +79,8 @@ tests: contains: [2] - label: - "Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and optional - attribute(OnMode) is in AttributeList from the DUT" + "Step 4c: Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and + optional attribute(OnMode) is in AttributeList from the DUT" PICS: RVCCLEANM.S.F00 command: "readAttribute" attribute: "AttributeList" @@ -100,8 +90,8 @@ tests: contains: [3] - label: - "Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and optional - attribute(OnMode) is not in AttributeList from the DUT" + "Step 4c: Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and + optional attribute(OnMode) is not in AttributeList from the DUT" PICS: " !RVCCLEANM.S.F00 " command: "readAttribute" attribute: "AttributeList" @@ -110,18 +100,61 @@ tests: type: list excludes: [3] - - label: "Read the global attribute: EventList from the DUT" - PICS: PICS_EVENT_LIST_ENABLED && RVCCLEANM.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4d: TH reads the AttributeList attribute from the DUT. 1.The + list SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) + 2.The list MAY contain values in the Manufacturer Extensible + Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. + 3.The list SHALL NOT contain any values in the Test Vendor or invalid + range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvccleanmode 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 + - list may include optional attribute(value 0x0002), if MOD.S.A0002(StartUpMode) supports, + - list contains feature dependent attribute (values 0x0003), if MOD.S.F00(DEPONOFF) is true on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1690182240.730688][14970:14972] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0055 Attribute 0x0000_FFFB DataVersion: 3145953005 + [1690182240.730708][14970:14972] CHIP:TOO: AttributeList: 10 entries + [1690182240.730713][14970:14972] CHIP:TOO: [1]: 0 + [1690182240.730716][14970:14972] CHIP:TOO: [2]: 1 + [1690182240.730719][14970:14972] CHIP:TOO: [3]: 2 + [1690182240.730722][14970:14972] CHIP:TOO: [4]: 3 + [1690182240.730725][14970:14972] CHIP:TOO: [5]: 65528 + [1690182240.730728][14970:14972] CHIP:TOO: [6]: 65529 + [1690182240.730731][14970:14972] CHIP:TOO: [7]: 65530 + [1690182240.730734][14970:14972] CHIP:TOO: [8]: 65531 + [1690182240.730737][14970:14972] CHIP:TOO: [9]: 65532 + [1690182240.730740][14970:14972] CHIP:TOO: [10]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Read the global attribute: EventList from the DUT" + # PICS: PICS_EVENT_LIST_ENABLED && RVCCLEANM.S.Afffa + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: - "Read the global attribute AcceptedCommandList. Check if it contains - id 0x0 (ChangeToMode)" + "Step 6a: Read the global attribute AcceptedCommandList. Check if it + contains id 0x0 (ChangeToMode)" PICS: RVCCLEANM.S.C00.Rsp command: "readAttribute" attribute: "AcceptedCommandList" @@ -131,8 +164,36 @@ tests: type: list - label: - "Read the global attribute: GeneratedCommandList. Check if it contains - id 0x1 (ChangeToModeResponse)" + "Step 6b: Read the global attribute AcceptedCommandList. 1. The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3. The list SHALL NOT contain any + values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvccleanmode read accepted-command-list 1 1 + + Verify the "AcceptedCommandList" contains a list of mandatory commands (value 0) on the TH (Chip-tool) and below is the sample log provided for the raspi platform: + + [1690182317.442730][14983:14985] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0055 Attribute 0x0000_FFF9 DataVersion: 3145953005 + [1690182317.442800][14983:14985] CHIP:TOO: AcceptedCommandList: 1 entries + [1690182317.442827][14983:14985] CHIP:TOO: [1]: 0 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: + "Step 7a: Read the global attribute: GeneratedCommandList. Check if it + contains id 0x1 (ChangeToModeResponse)" PICS: RVCCLEANM.S.C01.Tx command: "readAttribute" attribute: "GeneratedCommandList" @@ -140,3 +201,31 @@ tests: value: [1] constraints: type: list + + - label: + "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvccleanmode read generated-command-list 1 1 + + Verify "GeneratedCommandList" contains a list of mandatory commands (value 1) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1690182346.463002][14993:14995] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0055 Attribute 0x0000_FFF8 DataVersion: 3145953005 + [1690182346.463028][14993:14995] CHIP:TOO: GeneratedCommandList: 1 entries + [1690182346.463039][14993:14995] CHIP:TOO: [1]: 1 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml index a18554e6955246..92e454e33d3610 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml @@ -48,17 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [0, 1, 3, 4, 5, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: TH reads the AttributeList attribute from the DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -77,25 +66,26 @@ tests: type: list contains: [2] - - label: "Step 5a: TH reads from the DUT the EventList attribute." - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x00] - - - label: - "Step 5b: TH reads from the DUT the optional - event(OperationCompletion) in EventList." - PICS: PICS_EVENT_LIST_ENABLED && RVCOPSTATE.S.E01 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0x01] + #EventList disabled for 1.2 + # - label: "Step 5a: TH reads from the DUT the EventList attribute." + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x00] + + # - label: + # "Step 5b: TH reads from the DUT the optional + # event(OperationCompletion) in EventList." + # PICS: PICS_EVENT_LIST_ENABLED && RVCOPSTATE.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0x01] - label: "Step 6a: Read the optional command(Pause) in AcceptedCommandList" PICS: RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp @@ -133,6 +123,17 @@ tests: type: list contains: [0, 3] + - label: "Step 7: Read the global attribute: GeneratedCommandList" + PICS: + " !RVCOPSTATE.S.C00.Rsp && !RVCOPSTATE.S.C01.Rsp && + !RVCOPSTATE.S.C02.Rsp && !RVCOPSTATE.S.C03.Rsp " + command: "readAttribute" + attribute: "GeneratedCommandList" + response: + value: [] + constraints: + type: list + - label: "Step 7: Read the global attribute: GeneratedCommandList" PICS: " RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml index 9588d6434f7b31..7e1f24652dd2f7 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml @@ -23,7 +23,7 @@ config: endpoint: 1 tests: - - label: "Wait for the commissioned device to be retrieved" + - label: "Step 1: Wait for the commissioned device to be retrieved" cluster: "DelayCommands" command: "WaitForCommissionee" arguments: @@ -31,7 +31,7 @@ tests: - name: "nodeId" value: nodeId - - label: "TH reads the ClusterRevision attribute from the DUT" + - label: "Step 2: TH reads the ClusterRevision attribute from the DUT" command: "readAttribute" attribute: "ClusterRevision" response: @@ -39,7 +39,7 @@ tests: constraints: type: int16u - - label: "TH reads the FeatureMap attribute from the DUT" + - label: "Step 3a: TH reads the FeatureMap attribute from the DUT" PICS: " !RVCRUNM.S.F00 " command: "readAttribute" attribute: "FeatureMap" @@ -49,8 +49,8 @@ tests: type: bitmap32 - label: - "Given RVCRUNM.S.F00(DEPONOFF) ensure featuremap has the correct bit - set" + "Step 3b: Given RVCRUNM.S.F00(DEPONOFF) ensure featuremap has the + correct bit set" PICS: RVCRUNM.S.F00 command: "readAttribute" attribute: "FeatureMap" @@ -59,17 +59,7 @@ tests: type: bitmap32 hasMasksSet: [0x1] - - label: "TH reads the AttributeList attribute from the DUT" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "TH reads the AttributeList attribute from the DUT" - PICS: "!PICS_EVENT_LIST_ENABLED" + - label: "Step 4a: TH reads the AttributeList attribute from the DUT" command: "readAttribute" attribute: "AttributeList" response: @@ -78,8 +68,8 @@ tests: contains: [0, 1, 65528, 65529, 65531, 65532, 65533] - label: - "TH reads the optional attribute(StartUpMode) in AttributeList from - the DUT" + "Step 4b: TH reads the optional attribute(StartUpMode) in + AttributeList from the DUT" PICS: RVCRUNM.S.A0002 command: "readAttribute" attribute: "AttributeList" @@ -89,8 +79,8 @@ tests: contains: [2] - label: - "Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and optional - attribute(OnMode) is in AttributeList from the DUT" + "Step 4c: Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and + optional attribute(OnMode) is in AttributeList from the DUT" PICS: RVCRUNM.S.F00 command: "readAttribute" attribute: "AttributeList" @@ -100,8 +90,8 @@ tests: contains: [3] - label: - "Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and optional - attribute(OnMode) is not in AttributeList from the DUT" + "Step 4d: Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and + optional attribute(OnMode) is not in AttributeList from the DUT" PICS: " !RVCRUNM.S.F00 " command: "readAttribute" attribute: "AttributeList" @@ -110,18 +100,61 @@ tests: type: list excludes: [3] - - label: "Read the global attribute: EventList from the DUT" - PICS: PICS_EVENT_LIST_ENABLED && RVCRUNM.S.Afffa - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4e: Check for mandatory attributes in AttributeList. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) + 2.The list MAY contain values in the Manufacturer Extensible + Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. + 3.The list SHALL NOT contain any values in the Test Vendor or invalid + range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvcrunmode 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 + - list may include optional attribute(value 0x0002), if MOD.S.A0002(StartUpMode) supports, + - list contains feature dependent attribute (values 0x0003), if MOD.S.F00(DEPONOFF) is true on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1690177332.943953][6264:6266] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0054 Attribute 0x0000_FFFB DataVersion: 551764487 + [1690177332.944121][6264:6266] CHIP:TOO: AttributeList: 10 entries + [1690177332.944191][6264:6266] CHIP:TOO: [1]: 0 + [1690177332.944255][6264:6266] CHIP:TOO: [2]: 1 + [1690177332.944312][6264:6266] CHIP:TOO: [3]: 2 + [1690177332.944368][6264:6266] CHIP:TOO: [4]: 3 + [1690177332.944425][6264:6266] CHIP:TOO: [5]: 65528 + [1690177332.944482][6264:6266] CHIP:TOO: [6]: 65529 + [1690177332.944538][6264:6266] CHIP:TOO: [7]: 65530 + [1690177332.944594][6264:6266] CHIP:TOO: [8]: 65531 + [1690177332.944650][6264:6266] CHIP:TOO: [9]: 65532 + [1690177332.944707][6264:6266] CHIP:TOO: [10]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Read the global attribute: EventList from the DUT" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: - "Read the global attribute AcceptedCommandList. Check if it contains - id 0x0 (ChangeToMode)" + "Step 6a: Read the global attribute AcceptedCommandList. Check if it + contains id 0x0 (ChangeToMode)" PICS: RVCRUNM.S.C00.Rsp command: "readAttribute" attribute: "AcceptedCommandList" @@ -131,8 +164,36 @@ tests: type: list - label: - "Read the global attribute: GeneratedCommandList. Check if it contains - id 0x1 (ChangeToModeResponse)" + "Step 6b: Read the global attribute AcceptedCommandList. 1. The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3. The list SHALL NOT contain any + values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvcrunmode read accepted-command-list 1 1 + + Verify the "AcceptedCommandList" contains a list of mandatory commands (value 0) on the TH (Chip-tool) and below is the sample log provided for the raspi platform: + + [1690177423.741225][6275:6277] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0054 Attribute 0x0000_FFF9 DataVersion: 551764487 + [1690177423.741380][6275:6277] CHIP:TOO: AcceptedCommandList: 1 entries + [1690177423.741452][6275:6277] CHIP:TOO: [1]: 0 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: + "Step 7a: Read the global attribute: GeneratedCommandList. Check if it + contains id 0x1 (ChangeToModeResponse)" PICS: RVCRUNM.S.C01.Tx command: "readAttribute" attribute: "GeneratedCommandList" @@ -140,3 +201,31 @@ tests: value: [1] constraints: type: list + + - label: + "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvcrunmode read generated-command-list 1 1 + + Verify " GeneratedCommandList" contains a list of mandatory commands (value 1) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1690177455.913441][6278:6280] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0054 Attribute 0x0000_FFF8 DataVersion: 551764487 + [1690177455.913595][6278:6280] CHIP:TOO: GeneratedCommandList: 1 entries + [1690177455.913666][6278:6280] CHIP:TOO: [1]: 1 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_SMOKECO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_SMOKECO_1_1.yaml index c9762f148a7dc1..7e46d16d49d606 100644 --- a/src/app/tests/suites/certification/Test_TC_SMOKECO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SMOKECO_1_1.yaml @@ -164,70 +164,71 @@ tests: type: list contains: [12] - - label: "TH reads from the DUT the EventList attribute" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [2, 3, 4, 5, 10] + #EventList disabled for 1.2 + # - label: "TH reads from the DUT the EventList attribute" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [2, 3, 4, 5, 10] - - label: "TH reads from the DUT the EventList attribute(SmokeAlarm)" - PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E00 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0] + # - label: "TH reads from the DUT the EventList attribute(SmokeAlarm)" + # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0] - - label: "TH reads from the DUT the EventList attribute(COAlarm)" - PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E01 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1] + # - label: "TH reads from the DUT the EventList attribute(COAlarm)" + # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E01 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1] - - label: "TH reads from the DUT the EventList attribute(AlarmMuted)" - PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E06 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [6] + # - label: "TH reads from the DUT the EventList attribute(AlarmMuted)" + # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E06 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [6] - - label: "TH reads from the DUT the EventList attribute(MuteEnded)" - PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E07 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [7] + # - label: "TH reads from the DUT the EventList attribute(MuteEnded)" + # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E07 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [7] - - label: - "TH reads from the DUT the EventList attribute(InterconnectSmokeAlarm)" - PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E08 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [8] + # - label: + # "TH reads from the DUT the EventList attribute(InterconnectSmokeAlarm)" + # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E08 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [8] - - label: - "TH reads from the DUT the EventList attribute(InterconnectCOAlarm)" - PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E09 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [9] + # - label: + # "TH reads from the DUT the EventList attribute(InterconnectCOAlarm)" + # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E09 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [9] - label: "TH reads from the DUT the AcceptedCommandList attribute" PICS: "!SMOKECO.S.C00.Rsp" 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 f36c320453f30f..6c5fefbd931878 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 @@ -122,16 +122,7 @@ tests: contains: [2] - label: "Step 4b: Read the global attribute: AttributeList" - PICS: "PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04" - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4b: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04" + PICS: "!SWTCH.S.F04" command: "readAttribute" attribute: "AttributeList" response: @@ -139,94 +130,95 @@ tests: type: list contains: [0, 1, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5a: Read the global attribute: EventList " - PICS: - "PICS_EVENT_LIST_ENABLED && !SWTCH.S.F00 && !SWTCH.S.F01 && - !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 " - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list - - - label: "Step 5b: Read EventList if SWTCH.S.F00(LS)" - PICS: PICS_EVENT_LIST_ENABLED && SWTCH.S.F00 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [0] - - - label: "Step 5c: Read 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" - response: - constraints: - type: list - contains: [1] - - - label: - "Step 5d: Read 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 - && !SWTCH.S.F04 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1, 3] - - - label: - "Step 5e: Read 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 - && !SWTCH.S.F04 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1, 2, 3, 4] - - - label: - "Step 5f: Read 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 - && SWTCH.S.F04 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1, 3, 5, 6] - - - label: - "Step 5g: Read 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 - && SWTCH.S.F04 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [1, 2, 3, 4, 5, 6] + #EventList disabled for 1.2 + # - label: "Step 5a: Read the global attribute: EventList " + # PICS: + # "!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && + # !SWTCH.S.F04 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list + + # - label: "Step 5b: Read EventList if SWTCH.S.F00(LS)" + # PICS: PICS_EVENT_LIST_ENABLED && SWTCH.S.F00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [0] + + # - label: "Step 5c: Read 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" + # response: + # constraints: + # type: list + # contains: [1] + + # - label: + # "Step 5d: Read 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 && !SWTCH.S.F04 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1, 3] + + # - label: + # "Step 5e: Read 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 + # && !SWTCH.S.F04 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1, 2, 3, 4] + + # - label: + # "Step 5f: Read 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 && SWTCH.S.F04 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1, 3, 5, 6] + + # - label: + # "Step 5g: Read 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 + # && SWTCH.S.F04 " + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [1, 2, 3, 4, 5, 6] - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: + value: [] constraints: type: list - contains: [] - label: "Step 7: Read the global attribute: GeneratedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_S_1_1.yaml b/src/app/tests/suites/certification/Test_TC_S_1_1.yaml index f35ea918bbd8a9..9a285b46375999 100644 --- a/src/app/tests/suites/certification/Test_TC_S_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_S_1_1.yaml @@ -11,7 +11,6 @@ # 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: 123.1.1. [TC-S-1.1] Global attributes with server as DUT @@ -60,33 +59,10 @@ tests: constraints: type: bitmap32 - - label: "Step 4a: Read AttributeList (global attribute 65531)" - PICS: PICS_EVENT_LIST_ENABLED && S.S.A0005 - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [ - 0, - 1, - 2, - 3, - 4, - 5, - 6, - 7, - 65528, - 65529, - 65530, - 65531, - 65532, - 65533, - ] - - - label: "Step 4a: Read AttributeList (global attribute 65531)" - PICS: "!PICS_EVENT_LIST_ENABLED && S.S.A0005" + - label: + "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is + true" + PICS: S.S.A0005 command: "readAttribute" attribute: "AttributeList" response: @@ -95,32 +71,10 @@ tests: contains: [0, 1, 2, 3, 4, 5, 6, 7, 65528, 65529, 65531, 65532, 65533] - - label: "Step 4b: Read AttributeList (global attribute 65531)" - PICS: PICS_EVENT_LIST_ENABLED && (!S.S.A0005) - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [ - 0, - 1, - 2, - 3, - 4, - 6, - 7, - 65528, - 65529, - 65530, - 65531, - 65532, - 65533, - ] - - - label: "Step 4b: Read AttributeList (global attribute 65531)" - PICS: "!PICS_EVENT_LIST_ENABLED && (!S.S.A0005)" + - label: + "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is + false" + PICS: " !S.S.A0005 " command: "readAttribute" attribute: "AttributeList" response: @@ -128,14 +82,15 @@ tests: type: list contains: [0, 1, 2, 3, 4, 6, 7, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5: Read EventList (global attribute 65530)" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - constraints: - type: list - contains: [] + #EventList disabled for 1.2 + # - label: "Step 5: Read EventList (global attribute 65530)" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # type: list + # contains: [] - label: "Step 6a: Read AcceptedCommandList (global attribute 65529)" PICS: S.S.C40.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_TCCM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TCCM_1_1.yaml index b9977898b1d5ec..3f25a00c50ed40 100644 --- a/src/app/tests/suites/certification/Test_TC_TCCM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TCCM_1_1.yaml @@ -71,16 +71,6 @@ tests: [1690189598.832210][16140:16142] CHIP:TOO: [10]: 65533 disabled: true - - label: "Step 5: TH reads from the DUT the EventList attribute." - verification: | - ./chip-tool refrigeratorandtemperaturecontrolledcabinetmode 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: - - [1690189614.840538][16147:16149] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0052 Attribute 0x0000_FFFA DataVersion: 473867547 - [1690189614.840589][16147:16149] CHIP:TOO: EventList: 0 entries - disabled: true - - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute." verification: | ./chip-tool refrigeratorandtemperaturecontrolledcabinetmode read accepted-command-list 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_TCTL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TCTL_1_1.yaml index 1f847993f8e79f..a625b1c0b2c134 100644 --- a/src/app/tests/suites/certification/Test_TC_TCTL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TCTL_1_1.yaml @@ -113,19 +113,3 @@ tests: [1689770475.939872][9215:9217] CHIP:IN: (S) Sending msg 36313621 on secure session with LSID: 30992 [1689770475.939880][9215:9217] CHIP:EM: Flushed pending ack for MessageCounter:205412119 on exchange 56043i disabled: true - - - label: "Step 7: TH reads from the DUT the EventList attribute." - verification: | - ./chip-tool temperaturecontrol read event-list 1 1 - Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - - [1689770528.788582][9233:9235] CHIP:DMG: InteractionModelRevision = 1 - [1689770528.788587][9233:9235] CHIP:DMG: } - [1689770528.788671][9233:9235] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0056 Attribute 0x0000_FFFA DataVersion: 2844459846 - [1689770528.788703][9233:9235] CHIP:TOO: EventList: 0 entries - [1689770528.788768][9233:9235] CHIP:EM: <<< [E:60387i S:1870 M:236365893 (Ack:64478273)] (S) Msg TX to 1:0000000000000001 [9CA1] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1689770528.788782][9233:9235] CHIP:IN: (S) Sending msg 236365893 on secure session with LSID: 1870 - [1689770528.788826][9233:9235] CHIP:EM: Flushed pending ack for MessageCounter:64478273 on exchange 60387i - [1689770528.788927][9233:9233] CHIP:CTL: Shutting down the commissioner - [1689770528.788948][9233:9233] CHIP:CTL: Stopping commissioning discovery over DNS-SD - disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml b/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml index 636477d18707dd..92364c5bea0927 100644 --- a/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml @@ -50,16 +50,6 @@ tests: type: bitmap32 - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -93,11 +83,11 @@ tests: type: list contains: [1] - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_TIMESYNC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TIMESYNC_1_1.yaml index 89775774e07c39..aace42f3765400 100644 --- a/src/app/tests/suites/certification/Test_TC_TIMESYNC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TIMESYNC_1_1.yaml @@ -139,26 +139,6 @@ tests: ########################## # Mandatory entries - label: "TS4: Check for mandatory attributes in AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - contains: - [ - 0x0000, - 0x0001, - 0xFFF8, - 0xFFF9, - 0xFFFA, - 0xFFFB, - 0xFFFC, - 0xFFFD, - ] - - # Optional - - label: "TS4: Check for mandatory attributes in AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -250,52 +230,107 @@ tests: constraints: excludes: [0x0003] + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "TS4: Check for mandatory attributes in AttributeList. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) + 2.The list MAY contain values in the Manufacturer Extensible + Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. + 3.The list SHALL NOT contain any values in the Test Vendor or invalid + range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool timesynchronization read attribute-list 1 0 + + Via the TH (chip-tool), verify: + -that AttributeList attribute contains list of supported attributes. + -that the list has mandatory attributes, optional attributes, supported features and Global attributes. + + Below is the example value which is observed in the RPI platform the value may be differ based on the dut implementation. + + [1688648771.261160][149504:149506] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0038 Attribute 0x0000_FFFB DataVersion: 1776331179 + [1688648771.261232][149504:149506] CHIP:TOO: AttributeList: 18 entries + [1688648771.261237][149504:149506] CHIP:TOO: [1]: 0 + [1688648771.261240][149504:149506] CHIP:TOO: [2]: 1 + [1688648771.261242][149504:149506] CHIP:TOO: [3]: 2 + [1688648771.261245][149504:149506] CHIP:TOO: [4]: 3 + [1688648771.261248][149504:149506] CHIP:TOO: [5]: 4 + [1688648771.261251][149504:149506] CHIP:TOO: [6]: 5 + [1688648771.261253][149504:149506] CHIP:TOO: [7]: 6 + [1688648771.261256][149504:149506] CHIP:TOO: [8]: 7 + [1688648771.261259][149504:149506] CHIP:TOO: [9]: 8 + [1688648771.261262][149504:149506] CHIP:TOO: [10]: 10 + [1688648771.261265][149504:149506] CHIP:TOO: [11]: 11 + [1688648771.261268][149504:149506] CHIP:TOO: [12]: 12 + [1688648771.261270][149504:149506] CHIP:TOO: [13]: 65528 + [1688648771.261273][149504:149506] CHIP:TOO: [14]: 65529 + [1688648771.261276][149504:149506] CHIP:TOO: [15]: 65530 + [1688648771.261279][149504:149506] CHIP:TOO: [16]: 65531 + [1688648771.261282][149504:149506] CHIP:TOO: [17]: 65532 + [1688648771.261284][149504:149506] CHIP:TOO: [18]: 65533 + [1688648771.261316][149504:149506] CHIP:EM: <<< [E:655i S:4249 M:65517419 (Ack:79799053)] (S) Msg TX to 1:0000000000000001 [3784] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1688648771.261321][149504:149506] CHIP:IN: (S) Sending msg 65517419 on secure session with LSID: 4249 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 # Note - additional exclusions not handled here ########################## # TS 5: Event list - NOTE: disabled ########################## # mandatory - - label: "TS5: Check for mandatory events in EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - constraints: - contains: [0x03] + # - label: "TS5: Check for mandatory events in EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # contains: [0x03] # Feature TZ - - label: "TS5: Check for TZ feature-based events in EventList" - PICS: PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F00 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - contains: [0x00, 0x01, 0x02] - - - label: "TS5: Check for TZ feature-based events not in EventList" - PICS: "PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F00" - command: "readAttribute" - attribute: "EventList" - response: - constraints: - excludes: [0x00, 0x01, 0x02] + # - label: "TS5: Check for TZ feature-based events in EventList" + # PICS: PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F00 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # contains: [0x00, 0x01, 0x02] + + # - label: "TS5: Check for TZ feature-based events not in EventList" + # PICS: "PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F00" + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # excludes: [0x00, 0x01, 0x02] # Feature TSC - - label: "TS5: Check for TSC feature-based events in EventList" - PICS: PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F03 - command: "readAttribute" - attribute: "EventList" - response: - constraints: - contains: [0x04] - - label: "TS5: Check for TSC feature-based events not in EventList" - PICS: "PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F03" - command: "readAttribute" - attribute: "EventList" - response: - constraints: - excludes: [0x04] + # - label: "TS5: Check for TSC feature-based events in EventList" + # PICS: PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F03 + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # contains: [0x04] + + # - label: "TS5: Check for TSC feature-based events not in EventList" + # PICS: "PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F03" + # command: "readAttribute" + # attribute: "EventList" + # response: + # constraints: + # excludes: [0x04] # Note - additional exclusions not handled here @@ -364,13 +399,51 @@ tests: constraints: excludes: [0x01] + - label: + "TS6: Check for mandatory commands in AcceptedCommandList. 1. The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3. The list SHALL NOT contain any + values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool timesynchronization read accepted-command-list 1 0 + + Via the TH (chip-tool), verify: + -that AcceptedCommandList attribute contains list of supported commands and that list has 5 entries . + + Below is the example value which is observed in the RPI platform the value may be differ based on the dut implementation. + + [1688648876.860364][149529:149531] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0038 Attribute 0x0000_FFF9 DataVersion: 1776331179 + [1688648876.860405][149529:149531] CHIP:TOO: AcceptedCommandList: 5 entries + [1688648876.860415][149529:149531] CHIP:TOO: [1]: 0 + [1688648876.860421][149529:149531] CHIP:TOO: [2]: 1 + [1688648876.860427][149529:149531] CHIP:TOO: [3]: 2 + [1688648876.860433][149529:149531] CHIP:TOO: [4]: 4 + [1688648876.860439][149529:149531] CHIP:TOO: [5]: 5 + [1688648876.860502][149529:149531] CHIP:EM: <<< [E:14853i S:24555 M:248733556 (Ack:60358064)] (S) Msg TX to 1:0000000000000001 [3784] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1688648876.860516][149529:149531] CHIP:IN: (S) Sending msg 248733556 on secure session with LSID: 24555 + [1688648876.860554][149529:149531] CHIP:EM: Flushed pending ack for MessageCounter:60358064 on exchange 14853i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + # NOTE: exclusions not checked ########################## # TS 7: GeneratedCommandList ########################## # Feature TZ - - label: "TS6: Check for TZ feature-based commands in AcceptedCommandList" + - label: "TS7: Check for TZ feature-based commands in GeneratedCommandList" PICS: TIMESYNC.S.F00 command: "readAttribute" attribute: "GeneratedCommandList" @@ -379,10 +452,46 @@ tests: contains: [0x03] - label: - "TS6: Check for TZ feature-based commands in not AcceptedCommandList" + "TS7: Check for TZ feature-based commands in not GeneratedCommandList" PICS: "!TIMESYNC.S.F00" command: "readAttribute" attribute: "GeneratedCommandList" response: constraints: excludes: [0x03] + + - label: + "TS7: Check for mandatory commands in GeneratedCommandList. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool timesynchronization read generated-command-list 1 0 + + Via the TH (chip-tool), verify: + -that GeneratedCommandList attribute contains list of supported commands. + -that list has 1(command id-3) entries for this cluster based on DUT implementation. + + Below is the example value which is observed in the RPI platform the value may be differ based on the dut implementation. + + [1688648846.603041][149522:149524] CHIP:DMG: } + [1688648846.603137][149522:149524] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0038 Attribute 0x0000_FFF8 DataVersion: 1776331179 + [1688648846.603172][149522:149524] CHIP:TOO: GeneratedCommandList: 1 entries + [1688648846.603183][149522:149524] CHIP:TOO: [1]: 3 + [1688648846.603255][149522:149524] CHIP:EM: <<< [E:41394i S:2765 M:235105515 (Ack:166644135)] (S) Msg TX to 1:0000000000000001 [3784] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1688648846.603270][149522:149524] CHIP:IN: (S) Sending msg 235105515 on secure session with LSID: 2765 + [1688648846.603316][149522:149524] CHIP:EM: Flushed pending ack for MessageCounter:166644135 on exchange 41394i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml index 6dddc6a8f78d5f..a0d581313e4833 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml @@ -48,16 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -90,25 +80,26 @@ tests: constraints: type: list - #Manufacturer specific event IDs check not possible - - label: - "Step 7: Read EventList attribute from the DUT.For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." - verification: | - ./chip-tool temperaturemeasurement read event-list 1 1 - On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. - [1676466045.154072][28094:28096] CHIP:DMG: } - [1676466045.154196][28094:28096] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_FFFA DataVersion: 3399649825 - [1676466045.154248][28094:28096] CHIP:TOO: EventList: 0 entries - [1676466045.154309][28094:28096] CHIP:EM: <<< [E:12674i S:5317 M:190747810 (Ack:263910212)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676466045.154323][28094:28096] CHIP:IN: (S) Sending msg 190747810 on secure session with LSID: 5317 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + #EventList disabled for 1.2 + # #Manufacturer specific event IDs check not possible + # - label: + # "Step 7: Read EventList attribute from the DUT.For this cluster the + # list is usually empty but it can contain manufacturer specific event + # IDs." + # verification: | + # ./chip-tool temperaturemeasurement read event-list 1 1 + # On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. + # [1676466045.154072][28094:28096] CHIP:DMG: } + # [1676466045.154196][28094:28096] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_FFFA DataVersion: 3399649825 + # [1676466045.154248][28094:28096] CHIP:TOO: EventList: 0 entries + # [1676466045.154309][28094:28096] CHIP:EM: <<< [E:12674i S:5317 M:190747810 (Ack:263910212)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + # [1676466045.154323][28094:28096] CHIP:IN: (S) Sending msg 190747810 on secure session with LSID: 5317 + # cluster: "LogCommands" + # command: "UserPrompt" + # PICS: PICS_USER_PROMPT + # arguments: + # values: + # - name: "message" + # value: "Please enter 'y' for success" + # - name: "expectedValue" + # value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml index 0ec5d4dfe2d042..395eca1a63babb 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml @@ -142,16 +142,6 @@ tests: hasMasksSet: [0x40] - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 27, 28, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -618,25 +608,26 @@ tests: type: list contains: [1] - #Manufacturer specific event IDs check not possible - - label: - "Step 7: Read EventList attribute from the DUT.For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." - verification: | - ./chip-tool thermostat read event-list 1 1 - On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. - [1676466998.893033][29061:29063] CHIP:DMG: } - [1676466998.893114][29061:29063] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_FFFA DataVersion: 2603128677 - [1676466998.893155][29061:29063] CHIP:TOO: EventList: 0 entries - [1676466998.893209][29061:29063] CHIP:EM: <<< [E:35662i S:59401 M:190799889 (Ack:191492950)] (S) Msg TX to 1:0000000000000001 [3F11] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676466998.893221][29061:29063] CHIP:IN: (S) Sending msg 190799889 on secure session with LSID: 59401 - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" + #EVentList disabled for 1.2 + # #Manufacturer specific event IDs check not possible + # - label: + # "Step 7: Read EventList attribute from the DUT.For this cluster the + # list is usually empty but it can contain manufacturer specific event + # IDs." + # verification: | + # ./chip-tool thermostat read event-list 1 1 + # On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. + # [1676466998.893033][29061:29063] CHIP:DMG: } + # [1676466998.893114][29061:29063] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_FFFA DataVersion: 2603128677 + # [1676466998.893155][29061:29063] CHIP:TOO: EventList: 0 entries + # [1676466998.893209][29061:29063] CHIP:EM: <<< [E:35662i S:59401 M:190799889 (Ack:191492950)] (S) Msg TX to 1:0000000000000001 [3F11] --- Type 0000:10 (SecureChannel:StandaloneAck) + # [1676466998.893221][29061:29063] CHIP:IN: (S) Sending msg 190799889 on secure session with LSID: 59401 + # cluster: "LogCommands" + # command: "UserPrompt" + # PICS: PICS_USER_PROMPT + # arguments: + # values: + # - name: "message" + # value: "Please enter 'y' for success" + # - name: "expectedValue" + # value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml index 0d5de8b817ae5a..a004e72769b552 100644 --- a/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml @@ -47,17 +47,7 @@ tests: constraints: type: bitmap32 - - label: "Step 4: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" + - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" response: @@ -65,7 +55,50 @@ tests: type: list contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4b: Read the global attribute: AttributeList. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool thermostatuserinterfaceconfiguration read attribute-list 1 1 + + Via the TH (chip-tool), verify: + - that AttributeList attribute contains list of supported attributes. + -that the list has mandatory attributes, Tolerance attribute (If that optional attribute is true) and global attributes. + + Below is the example value which is observed in the RPI platform the value may be differ based on the dut implementation. + + [1676293075.930307][3422:3424] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFFB DataVersion: 1373411682 + [1676293075.930387][3422:3424] CHIP:TOO: AttributeList: 9 entries + [1676293075.930414][3422:3424] CHIP:TOO: [1]: 0 + [1676293075.930437][3422:3424] CHIP:TOO: [2]: 1 + [1676293075.930458][3422:3424] CHIP:TOO: [3]: 2 + [1676293075.930480][3422:3424] CHIP:TOO: [4]: 65528 + [1676293075.930502][3422:3424] CHIP:TOO: [5]: 65529 + [1676293075.930524][3422:3424] CHIP:TOO: [6]: 65530 + [1676293075.930547][3422:3424] CHIP:TOO: [7]: 65531 + [1676293075.930569][3422:3424] CHIP:TOO: [8]: 65532 + [1676293075.930590][3422:3424] CHIP:TOO: [9]: 65533 + [1676293075.930795][3422:3424] CHIP:EM: <<< [E:40240i M:140476277 (Ack:118115868)] (S) Msg TX to 1:000000 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 5a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -73,7 +106,37 @@ tests: constraints: type: list - - label: "Step 6: Read the global attribute: GeneratedCommandList" + - label: + "Step 5b: Read the global attribute: AcceptedCommandList. 1. The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3. The list SHALL NOT contain any + values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool thermostatuserinterfaceconfiguration read accepted-command-list 1 1 + + Via the TH (chip-tool), verify: + -that AcceptedCommandList attribute contains list of supported commands. + -that list has empty(0 entries) for this cluster and it may contain manufacturer specific command IDs. + + [1653990551.782477][6688:6693] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFF9 DataVersion: 398536759 + [1653990551.782585][6688:6693] CHIP:TOO: AcceptedCommandList: 0 entries + [1653990551.782710][6688:6693] CHIP:EM: Sending Standalone Ack for MessageCounter:925369 on exchange 6142i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 6a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: @@ -81,19 +144,26 @@ tests: constraints: type: list - #Manufacturer specific event IDs check not possible - label: - "Step 7: Read EventList attribute from the DUT.For this cluster the - list is usually empty but it can contain manufacturer specific event - IDs." + "Step 6b: Read the global attribute: GeneratedCommandList. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" verification: | - ./chip-tool thermostatuserinterfaceconfiguration read event-list 1 1 - On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. - [1676466144.926927][28127:28129] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFFA DataVersion: 317726044 - [1676466144.926964][28127:28129] CHIP:TOO: EventList: 0 entries - [1676466144.927021][28127:28129] CHIP:EM: <<< [E:22756i S:22644 M:99305003 (Ack:156666885)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1676466144.927035][28127:28129] CHIP:IN: (S) Sending msg 99305003 on secure session with LSID: 22644 - [1676466144.927067][28127:28129] CHIP:EM: Flushed pending ack for MessageCounter:156666885 on exchange 22756i + ./chip-tool thermostatuserinterfaceconfiguration read generated-command-list 1 1 + + Via the TH (chip-tool), verify: + -that GeneratedCommandList attribute contains list of supported commands. + -that list has empty(0 entries) for this cluster. + + [1653990618.773396][6698:6703] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFF8 DataVersion: 398536759 + [1653990618.773518][6698:6703] CHIP:TOO: GeneratedCommandList: 0 entries + [1653990618.773666][6698:6703] CHIP:EM: Sending Standalone Ack for MessageCounter:161554 on exchange 23764i cluster: "LogCommands" command: "UserPrompt" PICS: PICS_USER_PROMPT @@ -103,3 +173,27 @@ tests: value: "Please enter 'y' for success" - name: "expectedValue" value: "y" + + #EventList disabled for 1.2 + # #Manufacturer specific event IDs check not possible + # - label: + # "Step 7: Read EventList attribute from the DUT.For this cluster the + # list is usually empty but it can contain manufacturer specific event + # IDs." + # verification: | + # ./chip-tool thermostatuserinterfaceconfiguration read event-list 1 1 + # On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. + # [1676466144.926927][28127:28129] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFFA DataVersion: 317726044 + # [1676466144.926964][28127:28129] CHIP:TOO: EventList: 0 entries + # [1676466144.927021][28127:28129] CHIP:EM: <<< [E:22756i S:22644 M:99305003 (Ack:156666885)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + # [1676466144.927035][28127:28129] CHIP:IN: (S) Sending msg 99305003 on secure session with LSID: 22644 + # [1676466144.927067][28127:28129] CHIP:EM: Flushed pending ack for MessageCounter:156666885 on exchange 22756i + # cluster: "LogCommands" + # command: "UserPrompt" + # PICS: PICS_USER_PROMPT + # arguments: + # values: + # - name: "message" + # value: "Please enter 'y' for success" + # - name: "expectedValue" + # value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml index 4dfe7de1773721..6f4fef99ecef0e 100644 --- a/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml @@ -187,16 +187,6 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - response: - constraints: - type: list - contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: "Step 4a: Read the global attribute: AttributeList" - command: "readAttribute" - attribute: "AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -313,16 +303,65 @@ tests: type: list excludes: [10] - - label: "Step 5l: Read the global attribute: EventList" - command: "readAttribute" - attribute: "EventList" - PICS: PICS_EVENT_LIST_ENABLED - response: - value: [] - constraints: - type: list - - - label: "Step 6: Read the global attribute: AcceptedCommandList" + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 4b: Read the global attribute: AttributeList. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list + MAY contain values in the Manufacturer Extensible Identifier (MEI) + range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI + range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list + SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool totalvolatileorganiccompoundsconcentrationmeasurement read attribute-list 1 1 + + Via the TH (chip-tool), verify that the AttributeList attribute contains + - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd + - Optional entries:- 0x0007 + - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a + + [1687339255.386215][5005:5007] CHIP:TOO: AttributeList: 17 entries + [1687339255.386288][5005:5007] CHIP:TOO: [1]: 0 + [1687339255.386349][5005:5007] CHIP:TOO: [2]: 1 + [1687339255.386407][5005:5007] CHIP:TOO: [3]: 2 + [1687339255.386464][5005:5007] CHIP:TOO: [4]: 3 + [1687339255.386526][5005:5007] CHIP:TOO: [5]: 4 + [1687339255.386583][5005:5007] CHIP:TOO: [6]: 5 + [1687339255.386640][5005:5007] CHIP:TOO: [7]: 6 + [1687339255.386696][5005:5007] CHIP:TOO: [8]: 7 + [1687339255.386753][5005:5007] CHIP:TOO: [9]: 8 + [1687339255.386810][5005:5007] CHIP:TOO: [10]: 9 + [1687339255.386868][5005:5007] CHIP:TOO: [11]: 10 + [1687339255.386925][5005:5007] CHIP:TOO: [12]: 65528 + [1687339255.386983][5005:5007] CHIP:TOO: [13]: 65529 + [1687339255.387041][5005:5007] CHIP:TOO: [14]: 65530 + [1687339255.387098][5005:5007] CHIP:TOO: [15]: 65531 + [1687339255.387155][5005:5007] CHIP:TOO: [16]: 65532 + [1687339255.387213][5005:5007] CHIP:TOO: [17]: 65533 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + #EventList disabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # response: + # value: [] + # constraints: + # type: list + + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -330,10 +369,64 @@ tests: constraints: type: list - - label: "Step 7: Read the global attribute: GeneratedCommandList" + - label: + "Step 6b: Read the global attribute: AcceptedCommandList. 1. The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3. The list SHALL NOT contain any + values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool totalvolatileorganiccompoundsconcentrationmeasurement read accepted-command-list 1 1 + + Via the TH (chip-tool), verify that the AcceptedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966056.111188][11860:11862] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042E Attribute 0x0000_FFF9 DataVersion: 1180043964 + [1685966056.111377][11860:11862] CHIP:TOO: AcceptedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + + - label: "Step 7a: Read the global attribute: GeneratedCommandList" command: "readAttribute" attribute: "GeneratedCommandList" response: value: [] constraints: type: list + + - label: + "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in + the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool totalvolatileorganiccompoundsconcentrationmeasurement read generated-command-list 1 1 + + Via the TH (chip-tool), verify that the GeneratedCommandList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685966085.385740][11867:11869] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042E Attribute 0x0000_FFF8 DataVersion: 1180043964 + [1685966085.385829][11867:11869] CHIP:TOO: GeneratedCommandList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_ULABEL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ULABEL_1_1.yaml index 74de325fd20f8e..e62a2a8c116038 100644 --- a/src/app/tests/suites/certification/Test_TC_ULABEL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ULABEL_1_1.yaml @@ -32,7 +32,6 @@ tests: value: nodeId - label: "Step 2: Read the global attribute: ClusterRevision" - PICS: ULABEL.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -41,7 +40,6 @@ tests: type: int16u - label: "Step 3: Read the global attribute: FeatureMap" - PICS: ULABEL.S.Afffc command: "readAttribute" attribute: "FeatureMap" response: @@ -50,17 +48,6 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED && ULABEL.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] - - #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - - label: "Step 4a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED && ULABEL.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -97,33 +84,7 @@ tests: [1676293294.574170][3554:3556] CHIP:EM: <<< [E:29683i M:71170844 (Ack:159730489)] (S) Msg TX to 1:0000000 cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && ULABEL.S.Afffb - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - - label: - "Step 5: Read the global attribute: EventList. 1.The list MAY contain - values in the Manufacturer Extensible Identifier (MEI) range: - (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range - (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT - contain any values in the Test Vendor or invalid range: (0x0000_0100 - - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool userlabel read event-list 1 0 - - Verify "EventList" contains a list of supported events, for this cluster the list SHALL be empty(0 entries) on the TH(Chip-tool) Log: - - 1676373264.278073][11583:11585] CHIP:DMG: } - [1676373264.278133][11583:11585] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFA DataVersion: 916074662 - [1676373264.278155][11583:11585] CHIP:TOO: EventList: 0 entries - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && ULABEL.S.Afffa + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -150,7 +111,7 @@ tests: [1652851830.120217][2420:2425] CHIP:EM: Sending Standalone Ack for MessageCounter:11833674 on exchange 50545i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && ULABEL.S.Afff9 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" @@ -177,7 +138,7 @@ tests: [1652851867.076907][2427:2432] CHIP:EM: Sending Standalone Ack for MessageCounter:16707612 on exchange 9749i cluster: "LogCommands" command: "UserPrompt" - PICS: PICS_USER_PROMPT && ULABEL.S.Afff8 + PICS: PICS_USER_PROMPT arguments: values: - name: "message" diff --git a/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml b/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml index 6f7a235bf0922b..49c0fd61eb863e 100644 --- a/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml @@ -50,16 +50,6 @@ tests: type: bitmap32 - label: "Step 3a: Read the global attribute: AttributeList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: [65528, 65529, 65530, 65531, 65531, 65533] - - - label: "Step 3a: Read the global attribute: AttributeList" - PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -92,11 +82,12 @@ tests: constraints: type: list - - label: "Step 6: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #EventList disabled for 1.2 + # - label: "Step 6: Read the global attribute: EventList" + # PICS: PICS_EVENT_LIST_ENABLED + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list diff --git a/src/app/tests/suites/certification/Test_TC_WNCV_1_1.yaml b/src/app/tests/suites/certification/Test_TC_WNCV_1_1.yaml index 4f4ec40afcb134..93eb03d9046175 100644 --- a/src/app/tests/suites/certification/Test_TC_WNCV_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_WNCV_1_1.yaml @@ -35,7 +35,6 @@ tests: ### Attribute[0xFFFD]: ClusterRevision ======================================= - label: "Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute" - PICS: WNCV.S.Afffd command: "readAttribute" attribute: "ClusterRevision" response: @@ -47,8 +46,8 @@ tests: - label: "Step 3a: TH reads from the DUT the (0xFFFC) FeatureMap attribute" PICS: - " WNCV.S.Afffc && !WNCV.S.F00 && !WNCV.S.F01 && !WNCV.S.F02 && - !WNCV.S.F03 && !WNCV.S.F04 " + "!WNCV.S.F00 && !WNCV.S.F01 && !WNCV.S.F02 && !WNCV.S.F03 && + !WNCV.S.F04 " command: "readAttribute" attribute: "FeatureMap" response: @@ -113,18 +112,6 @@ tests: - label: "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute" - PICS: PICS_EVENT_LIST_ENABLED && WNCV.S.Afffb - command: "readAttribute" - attribute: "AttributeList" - response: - constraints: - type: list - contains: - [0, 7, 10, 13, 23, 65528, 65529, 65530, 65531, 65532, 65533] - - - label: - "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute" - PICS: "!PICS_EVENT_LIST_ENABLED && WNCV.S.Afffb" command: "readAttribute" attribute: "AttributeList" response: @@ -134,7 +121,7 @@ tests: - label: "Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList" - PICS: WNCV.S.Afffb && WNCV.S.A001a + PICS: WNCV.S.A001a command: "readAttribute" attribute: "AttributeList" response: @@ -145,7 +132,7 @@ tests: - label: "Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in AttributeList" - PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03 && WNCV.S.Afffb + PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03 command: "readAttribute" attribute: "AttributeList" response: @@ -156,7 +143,7 @@ tests: - label: "Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList" - PICS: WNCV.S.F00 && WNCV.S.F02 && WNCV.S.Afffb + PICS: WNCV.S.F00 && WNCV.S.F02 command: "readAttribute" attribute: "AttributeList" response: @@ -167,7 +154,7 @@ tests: - label: "Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in AttributeList" - PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03 && WNCV.S.Afffb + PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03 command: "readAttribute" attribute: "AttributeList" response: @@ -178,7 +165,7 @@ tests: - label: "Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList" - PICS: WNCV.S.F01 && WNCV.S.F04 && WNCV.S.Afffb + PICS: WNCV.S.F01 && WNCV.S.F04 command: "readAttribute" attribute: "AttributeList" response: @@ -186,19 +173,18 @@ tests: type: list contains: [12, 15] - - label: "Step 5: Read the global attribute: EventList" - PICS: PICS_EVENT_LIST_ENABLED - command: "readAttribute" - attribute: "EventList" - response: - value: [] - constraints: - type: list + #EventList diabled for 1.2 + # - label: "Step 5: Read the global attribute: EventList" + # command: "readAttribute" + # attribute: "EventList" + # response: + # value: [] + # constraints: + # type: list - label: "Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute" - PICS: WNCV.S.Afff9 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -209,7 +195,7 @@ tests: - label: "Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in AcceptedCommandList" - PICS: WNCV.S.Afff9 && WNCV.S.F00 && WNCV.S.F02 + PICS: WNCV.S.F00 && WNCV.S.F02 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -220,7 +206,7 @@ tests: - label: "Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in AcceptedCommandList" - PICS: WNCV.S.Afff9 && WNCV.S.F01 && WNCV.S.F03 + PICS: WNCV.S.F01 && WNCV.S.F03 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -231,7 +217,7 @@ tests: - label: "Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in AcceptedCommandList" - PICS: WNCV.S.Afff9 && WNCV.S.F01 && WNCV.S.F04 + PICS: WNCV.S.F01 && WNCV.S.F04 command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -242,7 +228,6 @@ tests: - label: "Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute" - PICS: WNCV.S.Afff8 command: "readAttribute" attribute: "GeneratedCommandList" response: diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 24826e89021967..2297e00b79e15e 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -33,12 +33,7 @@ TMP.C.AO-WRITE=0 # Software Diagnostics DGSW.S=1 -DGSW.S.Afffd=1 -DGSW.S.Afffc=1 -DGSW.S.Afffb=1 -DGSW.S.Afffa=1 -DGSW.S.Afff9=1 -DGSW.S.Afff8=1 + DGSW.S.F00=1 DGSW.S.E00=1 @@ -94,12 +89,6 @@ WNCV.S.A0002=1 WNCV.S.A001a=1 WNCV.S.C05.Rsp=1 WNCV.S.C08.Rsp=1 -WNCV.S.Afffd=1 -WNCV.S.Afffc=1 -WNCV.S.Afffb=1 -WNCV.S.Afffa=1 -WNCV.S.Afff9=1 -WNCV.S.Afff8=1 WNCV.S.C01.Rsp=1 WNCV.S.C00.Rsp=1 WNCV.S.C02.Rsp=1 @@ -581,13 +570,6 @@ PRS.S.A0014=0 PRS.S.F00=0 PRS.M.PressureChange=0 -PRS.S.Afffd=1 -PRS.S.Afffc=1 -PRS.S.Afffb=1 -PRS.S.Afffa=1 -PRS.S.Afff9=1 -PRS.S.Afff8=1 - PRS.C=0 PRS.C.AM-READ=0 PRS.C.AM-WRITE=0 @@ -788,12 +770,7 @@ LTIME.S=1 LTIME.S.A0000=1 LTIME.S.A0001=1 LTIME.S.A0002=1 -LTIME.S.Afff8=1 -LTIME.S.Afff9=1 -LTIME.S.Afffa=1 -LTIME.S.Afffb=1 -LTIME.S.Afffc=1 -LTIME.S.Afffd=1 + LTIME.S.A0000.12HR=1 LTIME.S.A0000.24HR=1 @@ -814,12 +791,7 @@ LTIME.C.A0000.24HR=1 LUNIT.S=1 LUNIT.S.F00=1 LUNIT.S.A0000=1 -LUNIT.S.Afff8=1 -LUNIT.S.Afff9=1 -LUNIT.S.Afffa=1 -LUNIT.S.Afffb=1 -LUNIT.S.Afffc=1 -LUNIT.S.Afffd=1 + LUNIT.TempUnit.Fahrenheit=1 LUNIT.TempUnit.Celsius=1 LUNIT.TempUnit.Kelvin=1 @@ -876,23 +848,10 @@ ULABEL.S.A0000=1 ULABEL.C.A0000=1 ULABEL.C=0 -ULABEL.S.Afffd=1 -ULABEL.S.Afffc=1 -ULABEL.S.Afffb=1 -ULABEL.S.Afffa=1 -ULABEL.S.Afff9=1 -ULABEL.S.Afff8=1 - # Fixed Label FLABEL.S=1 FLABEL.S.A0000=1 -FLABEL.S.Afffd=1 -FLABEL.S.Afffc=1 -FLABEL.S.Afffb=1 -FLABEL.S.Afffa=1 -FLABEL.S.Afff9=1 -FLABEL.S.Afff8=1 FLABEL.C=1 FLABEL.C.A0000=1 @@ -932,12 +891,6 @@ MCORE.BDX.SynchronousReceiver=0 MCORE.BDX.SynchronousSender=0 # General Diagnostics Cluster -DGGEN.S.Afffd=1 -DGGEN.S.Afffc=1 -DGGEN.S.Afffb=1 -DGGEN.S.Afffa=1 -DGGEN.S.Afff9=1 -DGGEN.S.Afff8=1 DGGEN.S=1 DGGEN.S.A0000=1 @@ -975,12 +928,7 @@ FLW.S.A0002=1 FLW.S.A0003=1 FLW.M.FlowChange=1 -FLW.S.Afffd=1 -FLW.S.Afffc=1 -FLW.S.Afffb=1 -FLW.S.Afffa=1 -FLW.S.Afff9=1 -FLW.S.Afff8=1 + FLW.C=1 @@ -1040,13 +988,6 @@ PCC.S.E0e=0 PCC.S.E0f=0 PCC.S.E10=0 -PCC.S.Afffd=1 -PCC.S.Afffc=1 -PCC.S.Afffb=1 -PCC.S.Afffa=1 -PCC.S.Afff9=1 -PCC.S.Afff8=1 - PCC.C=0 PCC.C.AM-READ=0 PCC.C.AM-WRITE=0 @@ -1113,12 +1054,6 @@ TSUIC.S.A0002=1 # Binding BIND.S=1 BIND.S.A0000=1 -BIND.S.Afffd=1 -BIND.S.Afffc=1 -BIND.S.Afffb=1 -BIND.S.Afffa=1 -BIND.S.Afff9=1 -BIND.S.Afff8=1 BIND.C=0 @@ -1173,12 +1108,7 @@ MCORE.DD.COMMISSIONING_SUBTYPE_T=1 DGETH.S=1 DGETH.S.C00.Rsp=1 -DGETH.S.Afffd=1 -DGETH.S.Afffc=1 -DGETH.S.Afffb=1 -DGETH.S.Afffa=1 -DGETH.S.Afff9=1 -DGETH.S.Afff8=1 + DGETH.C=1 DGETH.C.C00.Tx=1 @@ -1320,12 +1250,6 @@ BOOL.C.AO-WRITE=0 # Diagnostics Logs Cluster DLOG.S=1 -DLOG.S.Afffd=1 -DLOG.S.Afffc=1 -DLOG.S.Afffb=1 -DLOG.S.Afffa=1 -DLOG.S.Afff9=1 -DLOG.S.Afff8=1 DLOG.S.C00.Rsp=1 DLOG.S.C01.Tx=1 @@ -1767,12 +1691,7 @@ BINFO.S.A0011=0 BINFO.S.A0012=1 BINFO.S.A0013=1 BINFO.S.A0014=1 -BINFO.S.Afffd=1 -BINFO.S.Afffc=1 -BINFO.S.Afffb=1 -BINFO.S.Afffa=1 -BINFO.S.Afff9=1 -BINFO.S.Afff8=1 + # Events BINFO.S.E00=1 BINFO.S.E01=1 @@ -1809,12 +1728,7 @@ BINFO.C.E02=1 BINFO.C.E03=1 # NetworkCommissioning Cluster -CNET.S.Afffd=1 -CNET.S.Afffc=1 -CNET.S.Afffb=1 -CNET.S.Afffa=1 -CNET.S.Afff9=1 -CNET.S.Afff8=1 + # Server Attributes CNET.S=1 CNET.S.A0000=1 @@ -1870,12 +1784,6 @@ CNET.C.F02=0 # Node Operational Credential # Server Attributes OPCREDS.S=1 -OPCREDS.S.Afffd=1 -OPCREDS.S.Afffc=1 -OPCREDS.S.Afffb=1 -OPCREDS.S.Afffa=1 -OPCREDS.S.Afff9=1 -OPCREDS.S.Afff8=1 OPCREDS.S.A0000=1 OPCREDS.S.A0001=1 @@ -1925,6 +1833,17 @@ OPCREDS.C.C0b.Tx=1 OPSTATE.S=1 OPSTATE.C=1 +#ManuallyControlled + +OPSTATE.S.M.ST_STOPPED=1 +OPSTATE.S.M.ST_RUNNING=1 +OPSTATE.S.M.ST_PAUSED=1 +OPSTATE.S.M.ST_ERROR=1 +OPSTATE.S.M.ERR_NO_ERROR=1 +OPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME=1 +OPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION=1 +OPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE=1 + # Server Attributes OPSTATE.S.A0000=1 @@ -2047,12 +1966,7 @@ ACL.S.A0003=1 ACL.S.A0004=1 ACL.S.E00=1 ACL.S.E01=1 -ACL.S.Afffd=1 -ACL.S.Afffc=1 -ACL.S.Afffb=1 -ACL.S.Afffa=1 -ACL.S.Afff9=1 -ACL.S.Afff8=1 + ACL.C=1 ACL.C.E00=0 @@ -2573,6 +2487,28 @@ PIXIT.RVCCLEANM.CAN_TEST_MODE_FAILURE=1 RVCOPSTATE.S=1 RVCOPSTATE.C=1 +#ManuallyControlled + +RVCOPSTATE.S.M.ST_STOPPED=1 +RVCOPSTATE.S.M.ST_RUNNING=1 +RVCOPSTATE.S.M.ST_PAUSED=1 +RVCOPSTATE.S.M.ST_ERROR=1 +RVCOPSTATE.S.M.ST_SEEKING_CHARGER=1 +RVCOPSTATE.S.M.ST_CHARGING=1 +RVCOPSTATE.S.M.ST_DOCKED=1 +RVCOPSTATE.S.M.ERR_NO_ERROR=1 +RVCOPSTATE.S.M.ERR_UNABLE_TO_START_OR_RESUME=1 +RVCOPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION=1 +RVCOPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE=1 +RVCOPSTATE.S.M.ERR_FAILED_TO_FIND_CHARGING_DOCK=1 +RVCOPSTATE.S.M.ERR_STUCK=1 +RVCOPSTATE.S.M.ERR_DUST_BIN_MISSING=1 +RVCOPSTATE.S.M.ERR_DUST_BIN_FULL=1 +RVCOPSTATE.S.M.ERR_WATER_TANK_EMPTY=1 +RVCOPSTATE.S.M.ERR_WATER_TANK_MISSING=1 +RVCOPSTATE.S.M.ERR_WATER_TANK_LID_OPEN=1 +RVCOPSTATE.S.M.ERR_MOP_CLEANING_PAD_MISSING=1 + #Events RVCOPSTATE.S.E00=1 RVCOPSTATE.S.E01=1 @@ -2606,7 +2542,6 @@ RVCRUNM.S.A0000=1 RVCRUNM.S.A0001=1 RVCRUNM.S.A0002=1 RVCRUNM.S.A0003=1 -RVCRUNM.S.Afffa=1 #Commands RVCRUNM.S.C00.Rsp=1 @@ -2685,9 +2620,6 @@ ICDM.S.C03.Rsp=1 ICDM.C.C00.Rsp=1 ICDM.S.C01.Tx=1 - - - # Smoke CO Alarm Cluster SMOKECO.S=1 SMOKECO.S.F00=1 diff --git a/src/app/tests/suites/manualTests.json b/src/app/tests/suites/manualTests.json index 4abcd16eeaf754..df76b9d101193d 100644 --- a/src/app/tests/suites/manualTests.json +++ b/src/app/tests/suites/manualTests.json @@ -61,7 +61,8 @@ "Test_TC_DA_1_1", "Test_TC_DA_1_3", "Test_TC_DA_1_4", - "Test_TC_DA_1_6" + "Test_TC_DA_1_6", + "Test_TC_DA_1_8" ], "DishwasherAlarm": [ "Test_TC_DISHALM_1_1", From 6400a9192c0b690006c1be235fd52a24c12d691a Mon Sep 17 00:00:00 2001 From: manjunath-grl Date: Fri, 11 Aug 2023 18:08:45 +0530 Subject: [PATCH 2/8] Auto generated files --- .../chip-tool/zap-generated/test/Commands.h | 9486 +++++-------- .../zap-generated/test/Commands.h | 11455 ++++++---------- 2 files changed, 7582 insertions(+), 13359 deletions(-) diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 89992e45124d99..97786347a8adf1 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -396,6 +396,7 @@ class ManualTestList : public Command printf("Test_TC_DA_1_3\n"); printf("Test_TC_DA_1_4\n"); printf("Test_TC_DA_1_6\n"); + printf("Test_TC_DA_1_8\n"); printf("Test_TC_BINFO_3_1\n"); printf("Test_TC_OPCREDS_3_1\n"); printf("Test_TC_OPCREDS_3_2\n"); @@ -2216,7 +2217,7 @@ class TestAccessControlClusterSuite : public TestCommand class Test_TC_ACL_1_1Suite : public TestCommand { public: - Test_TC_ACL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACL_1_1", 11, credsIssuerConfig) + Test_TC_ACL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACL_1_1", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -2283,7 +2284,6 @@ class Test_TC_ACL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -2295,49 +2295,18 @@ class Test_TC_ACL_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } + shouldContinue = true; break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -2365,65 +2334,34 @@ class Test_TC_ACL_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads ClusterRevision attribute from DUT"); - VerifyOrDo(!ShouldSkip("ACL.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: TH reads FeatureMap attribute from DUT"); - VerifyOrDo(!ShouldSkip("ACL.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: TH reads AttributeList attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && ACL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TH reads AttributeList attribute from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && ACL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4b: TH reads optional attribute (Extension) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads optional attribute (Extension) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACL.S.A0001 && ACL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 6: { - LogStep(6, + LogStep(5, "Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && ACL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 7: { - LogStep(7, "Step 5a: TH reads EventList attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && ACL.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 8: { - LogStep(8, - "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " - "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the Manufacturer " - "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " - "0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or invalid " - "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " - "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && ACL.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -2431,14 +2369,14 @@ class Test_TC_ACL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, + case 6: { + LogStep(6, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1. The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && ACL.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -2446,14 +2384,14 @@ class Test_TC_ACL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 10: { - LogStep(10, + case 7: { + LogStep(7, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && ACL.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -10159,7 +10097,7 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand { public: Test_TC_AIRQUAL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_AIRQUAL_1_1", 12, credsIssuerConfig) + TestCommand("Test_TC_AIRQUAL_1_1", 13, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -10259,7 +10197,6 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -10267,37 +10204,19 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } + shouldContinue = true; break; case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -10311,6 +10230,10 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -10370,33 +10293,71 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand chip::NullOptional); } case 7: { - LogStep(7, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4a: Read the global attribute: AttributeList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::AttributeList::Id, true, - chip::NullOptional); + LogStep( + 8, + "Step 4b: TH reads from the DUT the AttributeList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in " + "the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and " + "(0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 9: { - LogStep(9, "Step 5: TH reads EventList attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 10: { - LogStep(10, "Step 6: Read the global attribute: AcceptedCommandList"); + LogStep(9, "Step 6:a Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep( + 10, + "Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " + "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 11: { - LogStep(11, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(11, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 12: { + LogStep( + 12, + "Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " + "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -10489,7 +10450,7 @@ class Test_TC_AIRQUAL_2_1Suite : public TestCommand class Test_TC_BOOL_1_1Suite : public TestCommand { public: - Test_TC_BOOL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_1_1", 9, credsIssuerConfig) + Test_TC_BOOL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_1_1", 6, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -10553,27 +10514,12 @@ class Test_TC_BOOL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -10585,7 +10531,7 @@ class Test_TC_BOOL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -10597,149 +10543,104 @@ class Test_TC_BOOL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Step 1: Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::ClusterRevision::Id, + true, chip::NullOptional); + } + case 2: { + LogStep(2, "Step 3: Read the global attribute: FeatureMap"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::FeatureMap::Id, true, + chip::NullOptional); + } + case 3: { + LogStep(3, "Step 4: Read the global attribute: AttributeList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 4: { + LogStep(4, "Step 5: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, + BooleanState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "Step 6: Read the global attribute: GeneratedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, + BooleanState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_BOOL_2_1Suite : public TestCommand +{ +public: + Test_TC_BOOL_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_2_1", 2, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_BOOL_2_1Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNextListItemDecodes("eventList", iter_0, 0)); - VerifyOrReturn(CheckValue("eventList[0]", iter_0.GetValue(), 0UL)); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 1)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 8: + case 1: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + bool value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Step 1: Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::ClusterRevision::Id, - true, chip::NullOptional); - } - case 2: { - LogStep(2, "Step 3: Read the global attribute: FeatureMap"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::FeatureMap::Id, true, - chip::NullOptional); - } - case 3: { - LogStep(3, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 4: { - LogStep(4, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 5: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, - BooleanState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Step 6: Read the global attribute: GeneratedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, - BooleanState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, "Step 7: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BOOL.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 8: { - LogStep(8, "Step 7: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !BOOL.S.E00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::EventList::Id, true, - chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_BOOL_2_1Suite : public TestCommand -{ -public: - Test_TC_BOOL_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_2_1", 2, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_BOOL_2_1Suite() {} - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } - - // - // Tests methods - // - - void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override - { - bool shouldContinue = false; - - switch (mTestIndex - 1) - { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - bool value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "boolean", "boolean")); + VerifyOrReturn(CheckConstraintType("value", "boolean", "boolean")); } break; default: @@ -10779,7 +10680,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand { public: Test_TC_BRBINFO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_BRBINFO_1_1", 24, credsIssuerConfig) + TestCommand("Test_TC_BRBINFO_1_1", 23, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -10970,37 +10871,10 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand } break; case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } - break; - case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 22: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -11012,7 +10886,11 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 23: + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -11024,6 +10902,10 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -11151,27 +11033,33 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Step 5a: TH reads optional event(StartUp) in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BRBINFO.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, - BridgedDeviceBasicInformation::Attributes::EventList::Id, true, chip::NullOptional); + LogStep(18, + "Step 4p: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 19: { - LogStep(19, "Step 5b: TH reads optional attribute(ShutDown) in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BRBINFO.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "Step 6a: TH1 reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, - BridgedDeviceBasicInformation::Attributes::EventList::Id, true, chip::NullOptional); + BridgedDeviceBasicInformation::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "Step 5c: TH reads optional attribute(Leave) in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BRBINFO.S.E02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, - BridgedDeviceBasicInformation::Attributes::EventList::Id, true, chip::NullOptional); - } - case 21: { - LogStep(21, - "Step 5d: Read EventList attribute from the DUT and Verify that the DUT response provides a list of supported " - "events."); + LogStep(20, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -11180,16 +11068,26 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 22: { - LogStep(22, "Step 6: TH1 reads AcceptedCommandList from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, - BridgedDeviceBasicInformation::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 23: { - LogStep(23, "Step 7: TH1 reads GeneratedCommandList from DUT"); + case 21: { + LogStep(21, "Step 7a: TH1 reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 22: { + LogStep(22, + "Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -12169,7 +12067,7 @@ class Test_TC_BRBINFO_2_1Suite : public TestCommand class Test_TC_ACT_1_1Suite : public TestCommand { public: - Test_TC_ACT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACT_1_1", 9, credsIssuerConfig) + Test_TC_ACT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACT_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -12234,28 +12132,12 @@ class Test_TC_ACT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12264,11 +12146,7 @@ class Test_TC_ACT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 7: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12277,7 +12155,7 @@ class Test_TC_ACT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxLength("value", value, 11)); } break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12323,39 +12201,22 @@ class Test_TC_ACT_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, "Step 4b: Read the optional attribute(SetupURL) in AttributeList"); + LogStep(4, "Step 4b: Read the optional attribute(SetupURL) in AttributeList"); VerifyOrDo(!ShouldSkip("ACT.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 5: TH reads EventList attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 7: { - LogStep(7, "Step 6: Read the global attribute: AcceptedCommandList"); + case 5: { + LogStep(5, "Step 6: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 7: Read the global attribute: GeneratedCommandList"); + case 6: { + LogStep(6, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -12367,7 +12228,7 @@ class Test_TC_ACT_1_1Suite : public TestCommand class Test_TC_BIND_1_1Suite : public TestCommand { public: - Test_TC_BIND_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BIND_1_1", 9, credsIssuerConfig) + Test_TC_BIND_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BIND_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -12431,7 +12292,6 @@ class Test_TC_BIND_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -12439,17 +12299,7 @@ class Test_TC_BIND_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } + shouldContinue = true; break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -12459,14 +12309,6 @@ class Test_TC_BIND_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -12491,52 +12333,28 @@ class Test_TC_BIND_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("BIND.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Binding::Id, Binding::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip("BIND.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Binding::Id, Binding::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BIND.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Binding::Id, Binding::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && BIND.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Binding::Id, Binding::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, + LogStep(4, "Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BIND.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 6: { - LogStep(6, - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BIND.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -12544,14 +12362,14 @@ class Test_TC_BIND_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, + case 5: { + LogStep(5, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BIND.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -12559,14 +12377,14 @@ class Test_TC_BIND_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BIND.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -12582,7 +12400,7 @@ class Test_TC_BIND_1_1Suite : public TestCommand class Test_TC_CC_1_1Suite : public TestCommand { public: - Test_TC_CC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CC_1_1", 79, credsIssuerConfig) + Test_TC_CC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CC_1_1", 77, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -12689,30 +12507,12 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16394UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 16385UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 16394UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12721,7 +12521,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12730,7 +12530,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12739,7 +12539,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12748,7 +12548,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12757,7 +12557,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 15: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12766,7 +12566,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 16: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12775,7 +12575,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 17: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12784,7 +12584,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12793,7 +12593,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12802,7 +12602,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12811,7 +12611,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12820,7 +12620,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12829,7 +12629,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12838,7 +12638,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12847,7 +12647,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12856,7 +12656,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 25UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12865,7 +12665,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12874,7 +12674,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 27UL)); } break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12883,7 +12683,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 32UL)); } break; - case 29: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12892,7 +12692,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); } break; - case 30: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12901,7 +12701,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 34UL)); } break; - case 31: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12910,7 +12710,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 36UL)); } break; - case 32: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12919,7 +12719,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 37UL)); } break; - case 33: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12928,7 +12728,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); } break; - case 34: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12937,7 +12737,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 40UL)); } break; - case 35: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12946,7 +12746,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; - case 36: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12955,7 +12755,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 37: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12964,7 +12764,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 48UL)); } break; - case 38: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12973,7 +12773,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 49UL)); } break; - case 39: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12982,7 +12782,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 50UL)); } break; - case 40: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12991,7 +12791,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 51UL)); } break; - case 41: + case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13000,7 +12800,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 52UL)); } break; - case 42: + case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13009,7 +12809,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 54UL)); } break; - case 43: + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13018,7 +12818,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 55UL)); } break; - case 44: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13027,7 +12827,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 56UL)); } break; - case 45: + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13036,7 +12836,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 58UL)); } break; - case 46: + case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13045,7 +12845,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 59UL)); } break; - case 47: + case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13054,7 +12854,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 60UL)); } break; - case 48: + case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13063,7 +12863,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16384UL)); } break; - case 49: + case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13072,7 +12872,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16386UL)); } break; - case 50: + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13081,7 +12881,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16387UL)); } break; - case 51: + case 50: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13090,7 +12890,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16388UL)); } break; - case 52: + case 51: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13099,7 +12899,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16389UL)); } break; - case 53: + case 52: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13108,7 +12908,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16390UL)); } break; - case 54: + case 53: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13117,7 +12917,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16395UL)); } break; - case 55: + case 54: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13126,7 +12926,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16396UL)); } break; - case 56: + case 55: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13135,7 +12935,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16397UL)); } break; - case 57: + case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13144,19 +12944,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16400UL)); } break; - case 58: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 59: + case 57: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13165,7 +12953,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 60: + case 58: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13174,7 +12962,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 61: + case 59: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13183,7 +12971,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 62: + case 60: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13192,7 +12980,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 63: + case 61: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13201,7 +12989,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 64: + case 62: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13210,7 +12998,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 65: + case 63: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13219,7 +13007,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 66: + case 64: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13228,7 +13016,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 67: + case 65: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13237,7 +13025,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 68: + case 66: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13246,7 +13034,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; - case 69: + case 67: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13255,7 +13043,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 70: + case 68: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13264,7 +13052,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); } break; - case 71: + case 69: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13273,7 +13061,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 65UL)); } break; - case 72: + case 70: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13282,7 +13070,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 66UL)); } break; - case 73: + case 71: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13291,7 +13079,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 67UL)); } break; - case 74: + case 72: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13300,7 +13088,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 68UL)); } break; - case 75: + case 73: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13309,7 +13097,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 71UL)); } break; - case 76: + case 74: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13318,7 +13106,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 75UL)); } break; - case 77: + case 75: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13327,7 +13115,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 76UL)); } break; - case 78: + case 76: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13410,426 +13198,413 @@ class Test_TC_CC_1_1Suite : public TestCommand } case 8: { LogStep(8, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 10: { - LogStep(10, "Step 4b: Read the optional attribute(CurrentHue) in AttributeList"); + LogStep(9, "Step 4b: Read the optional attribute(CurrentHue) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList"); + case 10: { + LogStep(10, "Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 4d: Read the optional attribute(RemainingTime) in AttributeList"); + case 11: { + LogStep(11, "Step 4d: Read the optional attribute(RemainingTime) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 4e: Read the optional attribute(CurrentX) in AttributeList"); + case 12: { + LogStep(12, "Step 4e: Read the optional attribute(CurrentX) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 4f: Read the optional attribute(CurrentY) in AttributeList"); + case 13: { + LogStep(13, "Step 4f: Read the optional attribute(CurrentY) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 4g: Read the optional attribute(DriftCompensation) in AttributeList"); + case 14: { + LogStep(14, "Step 4g: Read the optional attribute(DriftCompensation) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Step 4h: Read the optional attribute(CompensationText) in AttributeList"); + case 15: { + LogStep(15, "Step 4h: Read the optional attribute(CompensationText) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList"); + case 16: { + LogStep(16, "Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList"); + case 17: { + LogStep(17, "Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Step 4k: Read the optional attribute(Primary1X) in AttributeList"); + case 18: { + LogStep(18, "Step 4k: Read the optional attribute(Primary1X) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, "Step 4l: Read the optional attribute(Primary1Y) in AttributeList"); + case 19: { + LogStep(19, "Step 4l: Read the optional attribute(Primary1Y) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, "Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList"); + case 20: { + LogStep(20, "Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, "Step 4n: Read the optional attribute(Primary2X) in AttributeList"); + case 21: { + LogStep(21, "Step 4n: Read the optional attribute(Primary2X) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "Step 4o: Read the optional attribute(Primary2Y) in AttributeList"); + case 22: { + LogStep(22, "Step 4o: Read the optional attribute(Primary2Y) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList"); + case 23: { + LogStep(23, "Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4q: Read the optional attribute(Primary3X) in AttributeList"); + case 24: { + LogStep(24, "Step 4q: Read the optional attribute(Primary3X) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4r: Read the optional attribute(Primary3Y) in AttributeList"); + case 25: { + LogStep(25, "Step 4r: Read the optional attribute(Primary3Y) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList"); + case 26: { + LogStep(26, "Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, "Step 4t: Read the optional attribute(Primary4X) in AttributeList"); + case 27: { + LogStep(27, "Step 4t: Read the optional attribute(Primary4X) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0020"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 29: { - LogStep(29, "Step 4u: Read the optional attribute(Primary4Y) in AttributeList"); + case 28: { + LogStep(28, "Step 4u: Read the optional attribute(Primary4Y) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, "Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList"); + case 29: { + LogStep(29, "Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0022"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 31: { - LogStep(31, "Step 4w: Read the optional attribute(Primary5X) in AttributeList"); + case 30: { + LogStep(30, "Step 4w: Read the optional attribute(Primary5X) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 32: { - LogStep(32, "Step 4x: Read the optional attribute(Primary5Y) in AttributeList"); + case 31: { + LogStep(31, "Step 4x: Read the optional attribute(Primary5Y) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 33: { - LogStep(33, "Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList"); + case 32: { + LogStep(32, "Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0026"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 34: { - LogStep(34, "Step 4z: Read the optional attribute(Primary6X) in AttributeList"); + case 33: { + LogStep(33, "Step 4z: Read the optional attribute(Primary6X) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0028"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 35: { - LogStep(35, "Step 4a1: Read the optional attribute(Primary6Y) in AttributeList"); + case 34: { + LogStep(34, "Step 4a1: Read the optional attribute(Primary6Y) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 36: { - LogStep(36, "Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList"); + case 35: { + LogStep(35, "Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A002a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 37: { - LogStep(37, "Step 4a3: Read the optional attribute(WhitePointX) in AttributeList"); + case 36: { + LogStep(36, "Step 4a3: Read the optional attribute(WhitePointX) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 38: { - LogStep(38, "Step 4a4: Read the optional attribute(WhitePointY) in AttributeList"); + case 37: { + LogStep(37, "Step 4a4: Read the optional attribute(WhitePointY) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 39: { - LogStep(39, "Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList"); + case 38: { + LogStep(38, "Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 40: { - LogStep(40, "Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList"); + case 39: { + LogStep(39, "Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 41: { - LogStep(41, "Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList"); + case 40: { + LogStep(40, "Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0034"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 42: { - LogStep(42, "Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList"); + case 41: { + LogStep(41, "Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0036"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 43: { - LogStep(43, "Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList"); + case 42: { + LogStep(42, "Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0037"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 44: { - LogStep(44, "Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList"); + case 43: { + LogStep(43, "Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 45: { - LogStep(45, "Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList"); + case 44: { + LogStep(44, "Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 46: { - LogStep(46, "Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList"); + case 45: { + LogStep(45, "Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A003b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 47: { - LogStep(47, "Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList"); + case 46: { + LogStep(46, "Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A003c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 48: { - LogStep(48, "Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList"); + case 47: { + LogStep(47, "Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 49: { - LogStep(49, "Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList"); + case 48: { + LogStep(48, "Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 50: { - LogStep(50, "Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList"); + case 49: { + LogStep(49, "Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 51: { - LogStep(51, "Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList"); + case 50: { + LogStep(50, "Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A4004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 52: { - LogStep(52, "Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList"); + case 51: { + LogStep(51, "Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 53: { - LogStep(53, "Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList"); + case 52: { + LogStep(52, "Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 54: { - LogStep(54, "Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList"); + case 53: { + LogStep(53, "Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A400b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 55: { - LogStep(55, "Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList"); + case 54: { + LogStep(54, "Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A400c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 56: { - LogStep(56, "Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList"); + case 55: { + LogStep(55, "Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A400d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 57: { - LogStep(57, "Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList"); + case 56: { + LogStep(56, "Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList"); VerifyOrDo(!ShouldSkip("CC.S.A4010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 58: { - LogStep(58, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 59: { - LogStep(59, "Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList"); + case 57: { + LogStep(57, "Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 60: { - LogStep(60, "Step 6b: Read the optional command(MoveHue) in AcceptedCommandList"); + case 58: { + LogStep(58, "Step 6b: Read the optional command(MoveHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 61: { - LogStep(61, "Step 6c: Read the optional command(StepHue) in AcceptedCommandList"); + case 59: { + LogStep(59, "Step 6c: Read the optional command(StepHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 62: { - LogStep(62, "Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList"); + case 60: { + LogStep(60, "Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 63: { - LogStep(63, "Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList"); + case 61: { + LogStep(61, "Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 64: { - LogStep(64, "Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList"); + case 62: { + LogStep(62, "Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 65: { - LogStep(65, "Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList"); + case 63: { + LogStep(63, "Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 66: { - LogStep(66, "Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList"); + case 64: { + LogStep(64, "Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 67: { - LogStep(67, "Step 6i: Read the optional command(MoveColor) in AcceptedCommandList"); + case 65: { + LogStep(65, "Step 6i: Read the optional command(MoveColor) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C08.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 68: { - LogStep(68, "Step 6j: Read the optional command(StepColor) in AcceptedCommandList"); + case 66: { + LogStep(66, "Step 6j: Read the optional command(StepColor) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C09.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 69: { - LogStep(69, "Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList"); + case 67: { + LogStep(67, "Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C0a.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 70: { - LogStep(70, "Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList"); + case 68: { + LogStep(68, "Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 71: { - LogStep(71, "Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList"); + case 69: { + LogStep(69, "Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 72: { - LogStep(72, "Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList"); + case 70: { + LogStep(70, "Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 73: { - LogStep(73, "Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList"); + case 71: { + LogStep(71, "Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C43.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 74: { - LogStep(74, "Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList"); + case 72: { + LogStep(72, "Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 75: { - LogStep(75, "Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList"); + case 73: { + LogStep(73, "Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 76: { - LogStep(76, "Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList"); + case 74: { + LogStep(74, "Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C4b.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 77: { - LogStep(77, "Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList"); + case 75: { + LogStep(75, "Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C4c.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 78: { - LogStep(78, "Step 7: Read the global attribute: GeneratedCommandList"); + case 76: { + LogStep(76, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -20622,7 +20397,7 @@ class Test_TC_CC_6_5Suite : public TestCommand ColorControl::Attributes::StartUpColorTemperatureMireds::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "TH writes to StartUpColorTemperatureMireds attribute with value StartUpColorTemperatureMireds"); + LogStep(7, "Step 2a: TH writes to StartUpColorTemperatureMireds attribute with value StartUpColorTemperatureMireds"); VerifyOrDo(!ShouldSkip("PICS_SKIP_SAMPLE_APP && CC.S.A4010 && CC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; @@ -20633,7 +20408,7 @@ class Test_TC_CC_6_5Suite : public TestCommand return UserPrompt(kIdentityAlpha, value); } case 8: { - LogStep(8, "Step 2a: TH reads StartUpColorTemperatureMireds attribute from DUT"); + LogStep(8, "Step 2b: TH reads StartUpColorTemperatureMireds attribute from DUT"); VerifyOrDo(!ShouldSkip("CC.S.A4010 && CC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::StartUpColorTemperatureMireds::Id, true, chip::NullOptional); @@ -24269,7 +24044,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand { public: Test_TC_CDOCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CDOCONC_1_1", 30, credsIssuerConfig) + TestCommand("Test_TC_CDOCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -24449,27 +24224,12 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24478,7 +24238,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24487,7 +24247,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24499,7 +24259,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24512,7 +24272,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24522,7 +24282,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24532,7 +24292,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24542,7 +24302,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24552,7 +24312,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24561,7 +24321,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24570,19 +24330,11 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24594,6 +24346,10 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -24606,6 +24362,10 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -24716,108 +24476,141 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, - CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.A0007 && CDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when CDOCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when CDOCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "CDOCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "CDOCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when CDOCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when CDOCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, - CarbonDioxideConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + case 26: { + LogStep(26, + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } - case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); + case 27: { + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 28: { + LogStep(28, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -25063,7 +24856,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand { public: Test_TC_CMOCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CMOCONC_1_1", 30, credsIssuerConfig) + TestCommand("Test_TC_CMOCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -25239,27 +25032,12 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25268,7 +25046,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25277,7 +25055,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25289,7 +25067,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25302,7 +25080,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25312,7 +25090,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25322,7 +25100,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25332,7 +25110,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25342,7 +25120,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25351,7 +25129,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25360,19 +25138,11 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25384,6 +25154,10 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -25396,6 +25170,10 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -25506,108 +25284,141 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, - CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.A0007 && CMOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when CMOCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when CMOCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "CMOCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "CMOCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when CMOCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when CMOCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, - CarbonMonoxideConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + case 26: { + LogStep(26, + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } - case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); + case 27: { + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 28: { + LogStep(28, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -25855,7 +25666,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand { public: Test_TC_FLDCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_FLDCONC_1_1", 30, credsIssuerConfig) + TestCommand("Test_TC_FLDCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -26031,27 +25842,12 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26060,7 +25856,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26069,7 +25865,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26081,7 +25877,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26094,7 +25890,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26104,7 +25900,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26114,7 +25910,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26124,7 +25920,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26134,7 +25930,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26143,7 +25939,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26152,19 +25948,11 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26176,6 +25964,10 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -26188,6 +25980,10 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -26298,108 +26094,141 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, - FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.A0007 && FLDCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when FLDCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when FLDCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "FLDCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "FLDCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when FLDCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when FLDCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, - FormaldehydeConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + case 26: { + LogStep(26, + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } - case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); + case 27: { + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 28: { + LogStep(28, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 29: { LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -26643,7 +26472,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand { public: Test_TC_NDOCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_NDOCONC_1_1", 30, credsIssuerConfig) + TestCommand("Test_TC_NDOCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -26819,27 +26648,12 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26848,7 +26662,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26857,7 +26671,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26869,7 +26683,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26882,7 +26696,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26892,7 +26706,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26902,7 +26716,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26912,7 +26726,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26922,7 +26736,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26931,7 +26745,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26940,19 +26754,11 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26964,6 +26770,10 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -26976,6 +26786,10 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -27087,108 +26901,142 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, - NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.A0007 && NDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when NDOCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when NDOCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "NDOCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, - "Step 3i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " + case 23: { + LogStep(23, + "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "NDOCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 3j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 3k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, - NitrogenDioxideConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + case 26: { + LogStep(26, + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } - case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); + case 27: { + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 28: { + LogStep(28, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -27436,7 +27284,7 @@ class Test_TC_NDOCONC_2_1Suite : public TestCommand class Test_TC_OZCONC_1_1Suite : public TestCommand { public: - Test_TC_OZCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OZCONC_1_1", 30, credsIssuerConfig) + Test_TC_OZCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OZCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -27612,27 +27460,12 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27641,7 +27474,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27650,7 +27483,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27662,7 +27495,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27675,7 +27508,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27685,7 +27518,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27695,7 +27528,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27705,7 +27538,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27715,7 +27548,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27724,7 +27557,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27733,19 +27566,11 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27757,6 +27582,10 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -27769,6 +27598,10 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -27878,106 +27711,138 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, - OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.A0007 && OZCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when OZCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when OZCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "OZCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "OZCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when OZCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when OZCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } + case 26: { + LogStep(26, + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, - OzoneConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + OzoneConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, - OzoneConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + LogStep(28, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -28218,7 +28083,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand { public: Test_TC_PMHCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_PMHCONC_1_1", 30, credsIssuerConfig) + TestCommand("Test_TC_PMHCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -28394,27 +28259,12 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28423,7 +28273,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28432,7 +28282,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28444,7 +28294,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28457,7 +28307,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28467,7 +28317,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28477,7 +28327,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28487,7 +28337,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28497,7 +28347,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28506,7 +28356,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28515,19 +28365,11 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28539,6 +28381,10 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -28551,6 +28397,10 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -28661,106 +28511,139 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, - Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.A0007 && PMHCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when PMHCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when PMHCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "PMHCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "PMHCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when PMHCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when PMHCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } + case 26: { + LogStep(26, + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, - Pm1ConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + Pm1ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, - Pm1ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + LogStep(28, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -29001,7 +28884,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand { public: Test_TC_PMICONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_PMICONC_1_1", 30, credsIssuerConfig) + TestCommand("Test_TC_PMICONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -29177,27 +29060,12 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29206,7 +29074,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29215,7 +29083,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29227,7 +29095,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29240,7 +29108,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29250,7 +29118,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29260,7 +29128,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29270,7 +29138,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29280,7 +29148,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29289,7 +29157,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29298,19 +29166,11 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29322,6 +29182,10 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -29334,6 +29198,10 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -29444,106 +29312,139 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, - Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.A0007 && PMICONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when PMICONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when PMICONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "PMICONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "PMICONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when PMICONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when PMICONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } + case 26: { + LogStep(26, + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, - Pm25ConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + Pm25ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, - Pm25ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + LogStep(28, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7b: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -29785,7 +29686,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand { public: Test_TC_PMKCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_PMKCONC_1_1", 30, credsIssuerConfig) + TestCommand("Test_TC_PMKCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -29961,27 +29862,12 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29990,7 +29876,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29999,7 +29885,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30011,7 +29897,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30024,7 +29910,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30034,7 +29920,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30044,7 +29930,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30054,7 +29940,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30064,7 +29950,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30073,7 +29959,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30082,19 +29968,11 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30106,6 +29984,10 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -30118,6 +30000,10 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -30228,106 +30114,139 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, - Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.A0007 && PMKCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when PMKCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when PMKCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "PMKCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "PMKCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when PMKCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when PMKCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } + case 26: { + LogStep(26, + "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, - Pm10ConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + Pm10ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, - Pm10ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + LogStep(28, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -30568,7 +30487,7 @@ class Test_TC_PMKCONC_2_1Suite : public TestCommand class Test_TC_RNCONC_1_1Suite : public TestCommand { public: - Test_TC_RNCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_RNCONC_1_1", 30, credsIssuerConfig) + Test_TC_RNCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_RNCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -30744,27 +30663,12 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30773,7 +30677,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30782,7 +30686,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30794,7 +30698,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30807,7 +30711,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30817,7 +30721,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30827,7 +30731,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30837,7 +30741,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30847,7 +30751,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30856,7 +30760,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30865,19 +30769,11 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30889,6 +30785,10 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -30901,6 +30801,10 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -31010,106 +30914,142 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, - RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.A0007 && RNCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { + case 17: { LogStep( - 18, + 17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when RNCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when RNCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "RNCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "RNCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when RNCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when RNCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } + case 26: { + LogStep( + 26, + "Step 4l: TH reads the AttributeList attribute from the DUT. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in " + "the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and " + "(0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 27: { - LogStep(27, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, - RadonConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + RadonConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, - RadonConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + LogStep(28, + "Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -31350,7 +31290,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand { public: Test_TC_TVOCCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_TVOCCONC_1_1", 30, credsIssuerConfig) + TestCommand("Test_TC_TVOCCONC_1_1", 31, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -31526,27 +31466,12 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31555,7 +31480,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31564,7 +31489,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31576,7 +31501,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31589,7 +31514,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31599,7 +31524,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31609,7 +31534,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31619,7 +31544,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31629,7 +31554,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31638,7 +31563,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31647,19 +31572,11 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31671,6 +31588,10 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -31683,6 +31604,10 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -31806,27 +31731,19 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, - TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 17: { - LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.A0007 && TVOCCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 17: { + LogStep(17, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when TVOCCONC.S.A0007 is not " "set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31834,8 +31751,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 18: { + LogStep(18, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31843,8 +31760,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 19: { + LogStep(19, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when TVOCCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31852,8 +31769,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 20: { + LogStep(20, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31861,8 +31778,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 21: { + LogStep(21, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "TVOCCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31870,8 +31787,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 22: { + LogStep(22, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31879,8 +31796,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, + case 23: { + LogStep(23, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "TVOCCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31888,39 +31805,80 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 24: { + LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when TVOCCONC.S.F01 (LEV) is not set"); + case 25: { + LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when TVOCCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } + case 26: { + LogStep(26, + "Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 27: { - LogStep(27, "Step 5l: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, - TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::EventList::Id, true, + TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 6: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, - TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, - chip::NullOptional); + LogStep(28, + "Step 6b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 30: { + LogStep(30, + "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -32695,7 +32653,7 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand { public: Test_TC_OPCREDS_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_OPCREDS_1_2", 11, credsIssuerConfig) + TestCommand("Test_TC_OPCREDS_1_2", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -32759,7 +32717,6 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); @@ -32771,33 +32728,10 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -32813,11 +32747,11 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 9: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -32829,7 +32763,7 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 10: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -32857,52 +32791,28 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("OPCREDS.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip("OPCREDS.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && OPCREDS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && OPCREDS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, - OperationalCredentials::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, + LogStep(4, "Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && OPCREDS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 6: { - LogStep(6, - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && OPCREDS.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -32910,21 +32820,20 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, "Step 6a: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("OPCREDS.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 5: { + LogStep(5, "Step 6a: TH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && OPCREDS.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -32932,20 +32841,19 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 7a: TH reads GeneratedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("OPCREDS.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 7: { + LogStep(7, "Step 7a: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 8: { + LogStep(8, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && OPCREDS.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -32961,7 +32869,7 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand class Test_TC_BINFO_1_1Suite : public TestCommand { public: - Test_TC_BINFO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_1_1", 22, credsIssuerConfig) + Test_TC_BINFO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_1_1", 19, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -33036,38 +32944,12 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33076,7 +32958,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33085,7 +32967,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33094,7 +32976,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33103,7 +32985,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33112,7 +32994,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33121,7 +33003,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33130,7 +33012,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33139,23 +33021,11 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 15: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33164,7 +33034,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 16: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33173,7 +33043,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 17: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33182,7 +33052,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 18: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33191,15 +33061,11 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 20: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 21: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -33227,85 +33093,76 @@ class Test_TC_BINFO_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("BINFO.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip("BINFO.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000b && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4c: TH reads optional attribute(PartNumber) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4c: TH reads optional attribute(PartNumber) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000c && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4d: TH reads optional attribute(ProductURL) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4d: TH reads optional attribute(ProductURL) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000d && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4e: TH reads optional attribute(ProductLabel) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4e: TH reads optional attribute(ProductLabel) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000e && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4f: TH reads optional attribute(SerialNumber) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4f: TH reads optional attribute(SerialNumber) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000f && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A0010 && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4h: TH reads optional attribute(Reachable) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4h: TH reads optional attribute(Reachable) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A0011 && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4i: TH reads optional attribute(UniqueID) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4i: TH reads optional attribute(UniqueID) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A0012 && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, - BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 13: { - LogStep(13, + LogStep(12, "Step 4j: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -33313,67 +33170,38 @@ class Test_TC_BINFO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } + case 13: { + LogStep(13, "Step 5b: Read BINFO.S.E00(StartUp) event in EventList"); + VerifyOrDo(!ShouldSkip("BINFO.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, + true, chip::NullOptional); + } case 14: { - LogStep(14, "Step 5a: TH1 reads EventList from DUT"); - VerifyOrDo( - !ShouldSkip( - "PICS_EVENT_LIST_ENABLED && BINFO.S.Afffa && !BINFO.S.E00 && !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 "), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 5c: Read BINFO.S.E01(ShutDown) event in EventList"); + VerifyOrDo(!ShouldSkip("BINFO.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 5b: Read BINFO.S.E00(StartUp) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.E00 && BINFO.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 5d: Read BINFO.S.E02(Leave) event in EventList"); + VerifyOrDo(!ShouldSkip("BINFO.S.E02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 5c: Read BINFO.S.E01(ShutDown) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.E01 && BINFO.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 5e: Read (ReachableChanged) event in EventList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Step 5d: Read BINFO.S.E02(Leave) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.E02 && BINFO.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, - true, chip::NullOptional); - } - case 18: { - LogStep(18, "Step 5e: Read (ReachableChanged) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.A0011 && BINFO.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, - true, chip::NullOptional); - } - case 19: { - LogStep(19, - "Step 5f: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " - "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the Manufacturer " - "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " - "0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or invalid " - "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " - "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 20: { - LogStep(20, + LogStep(17, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -33381,14 +33209,14 @@ class Test_TC_BINFO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 21: { - LogStep(21, + case 18: { + LogStep(18, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && BINFO.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -34894,7 +34722,7 @@ class Test_TC_BINFO_2_2Suite : public TestCommand class Test_TC_CNET_1_3Suite : public TestCommand { public: - Test_TC_CNET_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CNET_1_3", 21, credsIssuerConfig) + Test_TC_CNET_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CNET_1_3", 19, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -34980,26 +34808,12 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35013,7 +34827,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35022,7 +34836,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35031,15 +34845,11 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 12: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 13: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35051,7 +34861,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 14: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35060,7 +34870,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 15: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35069,7 +34879,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 16: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35080,11 +34890,11 @@ class Test_TC_CNET_1_3Suite : public TestCommand } } break; - case 17: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 18: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35095,7 +34905,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 19: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35106,7 +34916,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand } } break; - case 20: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -35134,91 +34944,66 @@ class Test_TC_CNET_1_3Suite : public TestCommand } case 1: { LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); - VerifyOrDo(!ShouldSkip("CNET.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3a: Read the global attribute: FeatureMap"); - VerifyOrDo(!ShouldSkip(" !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 && CNET.S.Afffc"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip(" !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 3b: Read the global attribute: FeatureMap when CNET.S.F00 is set"); - VerifyOrDo(!ShouldSkip("CNET.S.F00 && CNET.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CNET.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Step 3c: Read the global attribute: FeatureMap when CNET.S.F01 is set"); - VerifyOrDo(!ShouldSkip("CNET.S.F01 && CNET.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CNET.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 5: { LogStep(5, "Step 3d: Read the global attribute: FeatureMap when CNET.S.F02 is set"); - VerifyOrDo(!ShouldSkip("CNET.S.F02 && CNET.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CNET.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 6: { LogStep(6, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && CNET.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && CNET.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, + "Step 4b: Read mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true"); + VerifyOrDo(!ShouldSkip("CNET.S.F00 || CNET.S.F01 || CNET.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, - "Step 4b: Read mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true"); - VerifyOrDo(!ShouldSkip("CNET.S.F00 || CNET.S.F01 || CNET.S.F02 && CNET.S.Afffb"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList"); + VerifyOrDo(!ShouldSkip("CNET.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList"); - VerifyOrDo(!ShouldSkip("CNET.S.A0002 && CNET.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList"); + VerifyOrDo(!ShouldSkip("CNET.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList"); - VerifyOrDo(!ShouldSkip("CNET.S.A0003 && CNET.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, - NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 11: { - LogStep(11, + LogStep(10, "Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && CNET.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 12: { - LogStep(12, - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && CNET.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -35226,41 +35011,41 @@ class Test_TC_CNET_1_3Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 13: { + case 11: { LogStep( - 13, + 11, "Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH)"); - VerifyOrDo(!ShouldSkip("( CNET.S.F00 || CNET.S.F01 ) && CNET.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("( CNET.S.F00 || CNET.S.F01 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true)"); - VerifyOrDo(!ShouldSkip("CNET.S.F00 && CNET.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 12: { + LogStep(12, "Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true)"); + VerifyOrDo(!ShouldSkip("CNET.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is true)"); - VerifyOrDo(!ShouldSkip("CNET.S.F01 && CNET.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 13: { + LogStep(13, "Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is true)"); + VerifyOrDo(!ShouldSkip("CNET.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) is true)"); - VerifyOrDo(!ShouldSkip("CNET.S.F02 && CNET.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 14: { + LogStep(14, "Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) is true)"); + VerifyOrDo(!ShouldSkip("CNET.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, + case 15: { + LogStep(15, "Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && CNET.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -35268,30 +35053,30 @@ class Test_TC_CNET_1_3Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 18: { - LogStep(18, + case 16: { + LogStep(16, "Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or " "CNET.S.F01(TH) is true)"); - VerifyOrDo(!ShouldSkip("( CNET.S.F00 || CNET.S.F01 ) && CNET.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("( CNET.S.F00 || CNET.S.F01 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 19: { + case 17: { LogStep( - 19, + 17, "Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related features(CNET.S.F02(ET) must be true)"); - VerifyOrDo(!ShouldSkip("CNET.S.F02 && CNET.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("CNET.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 18: { + LogStep(18, "Step 7c: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && CNET.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -35307,7 +35092,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand class Test_TC_DESC_1_1Suite : public TestCommand { public: - Test_TC_DESC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_1_1", 9, credsIssuerConfig) + Test_TC_DESC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -35346,12 +35131,7 @@ class Test_TC_DESC_1_1Suite : public TestCommand break; case 1: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); - VerifyOrReturn(CheckConstraintType("value", "int16u", "int16u")); - } + shouldContinue = true; break; case 2: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -35374,7 +35154,6 @@ class Test_TC_DESC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -35382,20 +35161,7 @@ class Test_TC_DESC_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } + shouldContinue = true; break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -35405,14 +35171,6 @@ class Test_TC_DESC_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -35437,8 +35195,13 @@ class Test_TC_DESC_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::ClusterRevision::Id, true, - chip::NullOptional); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 2: { LogStep(2, "Step 3: Read the global attribute: FeatureMap"); @@ -35447,18 +35210,11 @@ class Test_TC_DESC_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, + LogStep(4, "Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -35473,23 +35229,8 @@ class Test_TC_DESC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 7: { - LogStep(7, + case 5: { + LogStep(5, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -35503,8 +35244,8 @@ class Test_TC_DESC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -35526,7 +35267,7 @@ class Test_TC_DESC_1_1Suite : public TestCommand class Test_TC_DLOG_1_1Suite : public TestCommand { public: - Test_TC_DLOG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_1_1", 11, credsIssuerConfig) + Test_TC_DLOG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -35589,34 +35330,16 @@ class Test_TC_DLOG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35630,11 +35353,11 @@ class Test_TC_DLOG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 9: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35648,7 +35371,7 @@ class Test_TC_DLOG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -35676,52 +35399,28 @@ class Test_TC_DLOG_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("DLOG.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: TTH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip("DLOG.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: TTH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DLOG.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TTH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && DLOG.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 5: { - LogStep(5, + LogStep(4, "Step 4b: TTH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in " "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY " "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any " "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DLOG.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 6: { - LogStep(6, - "Step 4b: TTH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DLOG.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -35729,21 +35428,20 @@ class Test_TC_DLOG_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, "Step 6a: TTH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("DLOG.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 5: { + LogStep(5, "Step 6a: TTH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "Step 6b: TTH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DLOG.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -35751,20 +35449,19 @@ class Test_TC_DLOG_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 7a: TTH reads GeneratedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("DLOG.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 7: { + LogStep(7, "Step 7a: TTH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 8: { + LogStep(8, "Step 7b: TTH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DLOG.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -35780,7 +35477,7 @@ class Test_TC_DLOG_1_1Suite : public TestCommand class Test_TC_DGETH_1_1Suite : public TestCommand { public: - Test_TC_DGETH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_1_1", 22, credsIssuerConfig) + Test_TC_DGETH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_1_1", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -35861,26 +35558,12 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35889,7 +35572,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35898,7 +35581,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35907,7 +35590,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35916,7 +35599,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35925,7 +35608,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35934,7 +35617,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35943,7 +35626,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35952,7 +35635,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 15: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35961,15 +35644,11 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 17: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 18: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35978,7 +35657,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 19: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35990,11 +35669,11 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 20: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 21: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -36022,129 +35701,105 @@ class Test_TC_DGETH_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("DGETH.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3a: TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip(" !DGETH.S.F00 && !DGETH.S.F01 && DGETH.S.Afffc"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip(" !DGETH.S.F00 && !DGETH.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 3b: Given DGETH.S.F00 ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("DGETH.S.F00 && DGETH.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("DGETH.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Step 3c: Given DGETH.S.F01 ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("DGETH.S.F01 && DGETH.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("DGETH.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 5: { LogStep(5, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4b: TH reads optional attribute(PHYRate) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4b: TH reads optional attribute(PHYRate) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0000 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4c: TH reads optional attribute(FullDuplex) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4c: TH reads optional attribute(FullDuplex) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0001 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep( + 8, + "Step 4d: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F00(PKTCNT)) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { LogStep( 9, - "Step 4d: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F00(PKTCNT)) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0002 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + "Step 4e: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F00(PKTCNT)) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { LogStep( 10, - "Step 4e: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F00(PKTCNT)) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0003 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + "Step 4f: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { LogStep( 11, - "Step 4f: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0004 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + "Step 4g: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { LogStep( 12, - "Step 4g: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0005 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + "Step 4h: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep( - 13, - "Step 4h: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0006 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0007 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0008 && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, - EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 16: { - LogStep(16, + LogStep(15, "Step 4k: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGETH.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 17: { - LogStep(17, - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGETH.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -36152,29 +35807,27 @@ class Test_TC_DGETH_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 18: { - LogStep(18, "Step 6a: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("( DGETH.S.F00 || DGETH.S.F01 ) && DGETH.S.Afff9"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 16: { + LogStep(16, "Step 6a: TH reads AcceptedCommandList from DUT"); + VerifyOrDo(!ShouldSkip("( DGETH.S.F00 || DGETH.S.F01 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Step 6b: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("DGETH.S.Afff9 && !DGETH.S.F00 && !DGETH.S.F01"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 17: { + LogStep(17, "Step 6b: TH reads AcceptedCommandList from DUT"); + VerifyOrDo(!ShouldSkip(" !DGETH.S.F00 && !DGETH.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 18: { + LogStep(18, "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGETH.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -36182,14 +35835,14 @@ class Test_TC_DGETH_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 21: { - LogStep(21, + case 19: { + LogStep(19, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGETH.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -36897,7 +36550,7 @@ class Test_TC_DGETH_2_2Suite : public TestCommand class Test_TC_FLW_1_1Suite : public TestCommand { public: - Test_TC_FLW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLW_1_1", 10, credsIssuerConfig) + Test_TC_FLW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLW_1_1", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -36963,7 +36616,6 @@ class Test_TC_FLW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -36975,24 +36627,12 @@ class Test_TC_FLW_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - } + shouldContinue = true; break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -37002,14 +36642,6 @@ class Test_TC_FLW_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -37034,58 +36666,34 @@ class Test_TC_FLW_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); - VerifyOrDo(!ShouldSkip("FLW.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: Read the global attribute: FeatureMap"); - VerifyOrDo(!ShouldSkip("FLW.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && FLW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && FLW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("FLW.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("FLW.S.A0003 && FLW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, - FlowMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, + LogStep(5, "Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && FLW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 7: { - LogStep(7, - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && FLW.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -37093,15 +36701,15 @@ class Test_TC_FLW_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && FLW.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -37109,14 +36717,14 @@ class Test_TC_FLW_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, + case 7: { + LogStep(7, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && FLW.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -37268,7 +36876,7 @@ class Test_TC_FLW_2_1Suite : public TestCommand class Test_TC_FLABEL_1_1Suite : public TestCommand { public: - Test_TC_FLABEL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLABEL_1_1", 9, credsIssuerConfig) + Test_TC_FLABEL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLABEL_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -37332,7 +36940,6 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -37340,17 +36947,7 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } + shouldContinue = true; break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -37360,14 +36957,6 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -37392,52 +36981,28 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("FLABEL.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FixedLabel::Id, FixedLabel::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip("FLABEL.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FixedLabel::Id, FixedLabel::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && FLABEL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FixedLabel::Id, FixedLabel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && FLABEL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FixedLabel::Id, FixedLabel::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, + LogStep(4, "Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && FLABEL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 6: { - LogStep(6, - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && FLABEL.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -37445,14 +37010,14 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, + case 5: { + LogStep(5, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && FLABEL.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -37460,14 +37025,14 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && FLABEL.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -37600,7 +37165,7 @@ class Test_TC_FLABEL_2_1Suite : public TestCommand class Test_TC_FAN_1_1Suite : public TestCommand { public: - Test_TC_FAN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FAN_1_1", 17, credsIssuerConfig) + Test_TC_FAN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FAN_1_1", 19, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -37716,30 +37281,12 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37750,7 +37297,7 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37760,7 +37307,7 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37770,7 +37317,7 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37779,6 +37326,10 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -37792,6 +37343,10 @@ class Test_TC_FAN_1_1Suite : public TestCommand } break; case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37800,6 +37355,10 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -37877,52 +37436,93 @@ class Test_TC_FAN_1_1Suite : public TestCommand } case 9: { LogStep(9, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 3b: Read the feature dependent FAN.S.F00 (SPD) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("FAN.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 3b: Read the feature dependent FAN.S.F00 (SPD) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("FAN.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 3c: Read the feature dependent FAN.S.F02(RCK) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("FAN.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 3c: Read the feature dependent FAN.S.F02(RCK) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("FAN.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 3d: Read the feature dependent FAN.S.F03(WND) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("FAN.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 3d: Read the feature dependent FAN.S.F03(WND) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("FAN.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 3e: Read the feature dependent FAN.S.F05(DIR) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("FAN.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 3e: Read the feature dependent FAN.S.F05(DIR) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("FAN.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, - chip::NullOptional); + LogStep(14, + "Step 3f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 15: { - LogStep(15, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(15, "Step 4a: Read the global attribute: AcceptedCommandList"); VerifyOrDo(!ShouldSkip(" !FAN.S.C00.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 5: Read the optional command (ResetCondition) in AcceptedCommandList"); + LogStep(16, + "Step 4b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 17: { + LogStep(17, "Step 5a: Read the optional command (ResetCondition) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("FAN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 18: { + LogStep(18, + "Step 5b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values " + "in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed " + "MEI range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the " + "Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -38986,7 +38586,7 @@ class Test_TC_FAN_3_6Suite : public TestCommand class Test_TC_CGEN_1_1Suite : public TestCommand { public: - Test_TC_CGEN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_1_1", 8, credsIssuerConfig) + Test_TC_CGEN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_1_1", 6, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -39054,43 +38654,12 @@ class Test_TC_CGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39101,7 +38670,7 @@ class Test_TC_CGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 7: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39146,29 +38715,16 @@ class Test_TC_CGEN_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, GeneralCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, - GeneralCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, - GeneralCommissioning::Attributes::EventList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Step 6: Read the global attribute: AcceptedCommandList"); + LogStep(4, "Step 6: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, GeneralCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 7: Read the global attribute: GeneratedCommandList"); + case 5: { + LogStep(5, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, GeneralCommissioning::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -39347,7 +38903,7 @@ class Test_TC_CGEN_2_1Suite : public TestCommand class Test_TC_DGGEN_1_1Suite : public TestCommand { public: - Test_TC_DGGEN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_1_1", 20, credsIssuerConfig) + Test_TC_DGGEN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_1_1", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -39413,29 +38969,12 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39444,7 +38983,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39453,7 +38992,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39462,7 +39001,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39471,7 +39010,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39480,7 +39019,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39489,51 +39028,11 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - } - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } - break; - case 16: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 17: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39542,11 +39041,11 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 18: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 19: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -39574,115 +39073,64 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); - VerifyOrDo(!ShouldSkip("DGGEN.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: Read the global attribute: FeatureMap"); - VerifyOrDo(!ShouldSkip("DGGEN.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4b: Read optional attribute(UpTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: Read optional attribute(UpTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0002 && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0003 && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4d: Read optional attribute(BootReason) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4d: Read optional attribute(BootReason) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0004 && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0005 && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0006 && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0007 && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, - GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 11: { - LogStep(11, + LogStep(10, "Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGGEN.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 12: { - LogStep(12, "Step 5a: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, - GeneralDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 13: { - LogStep(13, "Step 5b: Read optional event(HardwareFaultChange) in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E00"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, - GeneralDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 14: { - LogStep(14, "Step 5c: Read optional event(RadioFaultChange) in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E01"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, - GeneralDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 15: { - LogStep(15, "Step 5d: Read optional event(NetworkFaultChange) in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E02"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, - GeneralDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 16: { - LogStep(16, - "Step 5e: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGGEN.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -39690,21 +39138,20 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 17: { - LogStep(17, "Step 6a: Read the global attribute: AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 11: { + LogStep(11, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 12: { + LogStep(12, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGGEN.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -39712,14 +39159,14 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 19: { - LogStep(19, + case 13: { + LogStep(13, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGGEN.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -40037,7 +39484,7 @@ class Test_TC_DGGEN_2_1Suite : public TestCommand class Test_TC_GRPKEY_1_1Suite : public TestCommand { public: - Test_TC_GRPKEY_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_GRPKEY_1_1", 13, credsIssuerConfig) + Test_TC_GRPKEY_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_GRPKEY_1_1", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -40113,7 +39560,6 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -40121,42 +39567,13 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } + shouldContinue = true; break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -40168,11 +39585,11 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 10: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 11: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -40182,7 +39599,7 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 12: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -40227,18 +39644,11 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, GroupKeyManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip(" !PICS_EVENT_LIST_ENABLED "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, - GroupKeyManagement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, + LogStep(5, "Step 4b: The list SHALL NOT contain any additional values in the standard or scoped range: (0x0000_0000 - " "0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible " "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " @@ -40253,14 +39663,8 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, "Step 5a: TH1 reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, - GroupKeyManagement::Attributes::EventList::Id, true, chip::NullOptional); - } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " @@ -40275,13 +39679,13 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 6a: TH reads AcceptedCommandList from DUT"); + case 7: { + LogStep(7, "Step 6a: TH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, GroupKeyManagement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 8: { + LogStep(8, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -40295,13 +39699,13 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { - LogStep(11, "Step 7a: TH reads GeneratedCommandList from DUT"); + case 9: { + LogStep(9, "Step 7a: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, GroupKeyManagement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, + case 10: { + LogStep(10, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -40323,7 +39727,7 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand class Test_TC_ICDM_1_1Suite : public TestCommand { public: - Test_TC_ICDM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ICDM_1_1", 14, credsIssuerConfig) + Test_TC_ICDM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ICDM_1_1", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -40398,7 +39802,6 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -40410,14 +39813,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 6: @@ -40426,7 +39822,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 7: @@ -40435,26 +39831,21 @@ class Test_TC_ICDM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - } + shouldContinue = true; break; case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); { auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); } VerifyOrReturn(CheckConstraintType("value", "list", "list")); } @@ -40479,6 +39870,10 @@ class Test_TC_ICDM_1_1Suite : public TestCommand } break; case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -40490,7 +39885,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -40499,6 +39894,10 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -40522,81 +39921,122 @@ class Test_TC_ICDM_1_1Suite : public TestCommand return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); + LogStep(1, "Step 2: TH reads ClusterRevision attribute from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { - LogStep(2, "Step 3: Read the global attribute: FeatureMap"); + LogStep(2, "Step 3: TH reads FeatureMap attribute from DUT"); VerifyOrDo(!ShouldSkip("ICDM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Step 3: Read the global attribute: FeatureMap"); + LogStep(3, "Step 3: TH reads FeatureMap attribute from DUT"); VerifyOrDo(!ShouldSkip(" !ICDM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: TH reads AttributeList attribute from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: Read the optional attribute(RegisteredClients) in AttributeList"); + VerifyOrDo(!ShouldSkip("ICDM.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4b: Read the optional attribute(RegisteredClients) in AttributeList"); - VerifyOrDo(!ShouldSkip("ICDM.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4c: Read the optional attribute(IcdCounter) in AttributeList"); + VerifyOrDo(!ShouldSkip("ICDM.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4c: Read the optional attribute(IcdCounter) in AttributeList"); - VerifyOrDo(!ShouldSkip("ICDM.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList"); + VerifyOrDo(!ShouldSkip("ICDM.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList"); - VerifyOrDo(!ShouldSkip("ICDM.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, - true, chip::NullOptional); + LogStep(8, + "Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 9: { - LogStep(9, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::EventList::Id, true, - chip::NullOptional); + LogStep(9, "Step 6a: TH reads AcceptedCommandList attribute from DUT"); + VerifyOrDo(!ShouldSkip(" !ICDM.S.F00 && !ICDM.S.C03.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, + IcdManagement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 6a: Read the global attribute: AcceptedCommandList"); + LogStep(10, "Step 6b: TH reads AcceptedCommandList attribute from DUT if ICDM.S.F00 is true"); + VerifyOrDo(!ShouldSkip("ICDM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 6b: Read the optional command (StayActiveRequest) in AttributeList"); + LogStep(11, "Step 6c: Read the optional command (StayActiveRequest) in AttributeList"); VerifyOrDo(!ShouldSkip("ICDM.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(12, + "Step 6d: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 13: { + LogStep(13, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); VerifyOrDo(!ShouldSkip(" !ICDM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 7: Read the global attribute: GeneratedCommandList"); + case 14: { + LogStep(14, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); VerifyOrDo(!ShouldSkip("ICDM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 15: { + LogStep(15, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -40767,7 +40207,7 @@ class Test_TC_ICDM_2_1Suite : public TestCommand class Test_TC_I_1_1Suite : public TestCommand { public: - Test_TC_I_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_1_1", 9, credsIssuerConfig) + Test_TC_I_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -40832,28 +40272,12 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -40862,7 +40286,7 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -40871,7 +40295,7 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -40883,10 +40307,6 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -40921,44 +40341,25 @@ class Test_TC_I_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, "Step 5: Read the global attribute: AcceptedCommandList"); + LogStep(4, "Step 5: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 6: Read the optional command(TriggerEffect) in AcceptedCommandList"); + case 5: { + LogStep(5, "Step 6: Read the optional command(TriggerEffect) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("I.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 6: Read the global attribute: GeneratedCommandList"); + case 6: { + LogStep(6, "Step 6: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, - "Step 7: Read EventList attribute from the DUT. For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } } return CHIP_NO_ERROR; } @@ -41648,7 +41049,7 @@ class Test_TC_I_2_3Suite : public TestCommand class Test_TC_ILL_1_1Suite : public TestCommand { public: - Test_TC_ILL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ILL_1_1", 10, credsIssuerConfig) + Test_TC_ILL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ILL_1_1", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -41714,29 +41115,12 @@ class Test_TC_ILL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41745,7 +41129,7 @@ class Test_TC_ILL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41754,11 +41138,7 @@ class Test_TC_ILL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41770,7 +41150,7 @@ class Test_TC_ILL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 9: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41816,47 +41196,28 @@ class Test_TC_ILL_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, - IlluminanceMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); + LogStep(4, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); VerifyOrDo(!ShouldSkip("ILL.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 4c: Read the optional attribute(LightSensorType) in AttributeList"); + case 5: { + LogStep(5, "Step 4c: Read the optional attribute(LightSensorType) in AttributeList"); VerifyOrDo(!ShouldSkip("ILL.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, - "Step 5: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 8: { - LogStep(8, "Step 6: Read the global attribute: AcceptedCommandList"); + case 6: { + LogStep(6, "Step 6: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 7: Read the global attribute: GeneratedCommandList"); + case 7: { + LogStep(7, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -42195,7 +41556,7 @@ class Test_TC_ILL_2_2Suite : public TestCommand class Test_TC_LVL_1_1Suite : public TestCommand { public: - Test_TC_LVL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LVL_1_1", 20, credsIssuerConfig) + Test_TC_LVL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LVL_1_1", 18, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -42288,29 +41649,12 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42320,7 +41664,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16384UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42331,7 +41675,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42340,7 +41684,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42349,7 +41693,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42358,7 +41702,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42367,7 +41711,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42376,7 +41720,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; - case 15: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42385,7 +41729,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; - case 16: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42401,7 +41745,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 17: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42410,7 +41754,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -42422,18 +41766,6 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -42450,7 +41782,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand switch (testIndex) { case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); + LogStep(0, "Step 0: Wait for the commissioned device to be retrieved"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; @@ -42487,86 +41819,73 @@ class Test_TC_LVL_1_1Suite : public TestCommand } case 6: { LogStep(6, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 8: { - LogStep(8, "Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList"); + LogStep(7, "Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList"); VerifyOrDo(!ShouldSkip("LVL.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList"); + case 8: { + LogStep(8, "Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList"); VerifyOrDo(!ShouldSkip("LVL.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 3d: Read the optional attribute(MinLevel) in AttributeList"); + case 9: { + LogStep(9, "Step 3d: Read the optional attribute(MinLevel) in AttributeList"); VerifyOrDo(!ShouldSkip("LVL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 3e: Read the optional attribute(MaxLevel) in AttributeList"); + case 10: { + LogStep(10, "Step 3e: Read the optional attribute(MaxLevel) in AttributeList"); VerifyOrDo(!ShouldSkip("LVL.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList"); + case 11: { + LogStep(11, "Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList"); VerifyOrDo(!ShouldSkip("LVL.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList"); + case 12: { + LogStep(12, "Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList"); VerifyOrDo(!ShouldSkip("LVL.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList"); + case 13: { + LogStep(13, "Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList"); VerifyOrDo(!ShouldSkip("LVL.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList"); + case 14: { + LogStep(14, "Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList"); VerifyOrDo(!ShouldSkip("LVL.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Step 4a: Read the global attribute: AcceptedCommandList"); + case 15: { + LogStep(15, "Step 4a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList"); + case 16: { + LogStep(16, "Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("LVL.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Step 4b: Read the global attribute: GeneratedCommandList"); + case 17: { + LogStep(17, "Step 4b: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -45564,7 +44883,7 @@ class Test_TC_LVL_7_1Suite : public TestCommand class Test_TC_LCFG_1_1Suite : public TestCommand { public: - Test_TC_LCFG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LCFG_1_1", 8, credsIssuerConfig) + Test_TC_LCFG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LCFG_1_1", 6, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -45629,20 +44948,160 @@ class Test_TC_LCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; + case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Step 1: Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, + LocalizationConfiguration::Attributes::ClusterRevision::Id, true, chip::NullOptional); + } + case 2: { + LogStep(2, "Step 3: TH reads the FeatureMap from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, + LocalizationConfiguration::Attributes::FeatureMap::Id, true, chip::NullOptional); + } + case 3: { + LogStep(3, "Step 4: TH reads AttributeList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, + LocalizationConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 4: { + LogStep(4, "Step 6: TH reads AcceptedCommandList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, + LocalizationConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "Step 7: TH reads GeneratedCommandList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, + LocalizationConfiguration::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_LUNIT_1_2Suite : public TestCommand +{ +public: + Test_TC_LUNIT_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LUNIT_1_2", 8, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_LUNIT_1_2Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint16_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); + VerifyOrReturn(CheckConstraintType("value", "int16u", "int16u")); + } + break; + case 2: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckValue("featureMap", value, 0UL)); + VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); + } + break; + case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint32_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); + VerifyOrReturn(CheckConstraintHasMasksSet("value", value, 1UL)); + } + break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); @@ -45653,13 +45112,10 @@ class Test_TC_LCFG_1_1Suite : public TestCommand case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 6: @@ -45710,51 +45166,51 @@ class Test_TC_LCFG_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, - LocalizationConfiguration::Attributes::ClusterRevision::Id, true, chip::NullOptional); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, + UnitLocalization::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: TH reads the FeatureMap from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, - LocalizationConfiguration::Attributes::FeatureMap::Id, true, chip::NullOptional); + VerifyOrDo(!ShouldSkip(" !LUNIT.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::FeatureMap::Id, + true, chip::NullOptional); } case 3: { - LogStep(3, "Step 4: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, - LocalizationConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); + LogStep(3, "Step 3: Given LUNIT.S.F00(TEMP) ensure featuremap has the correct bit set"); + VerifyOrDo(!ShouldSkip("LUNIT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::FeatureMap::Id, + true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, - LocalizationConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); + LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, + UnitLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, - LocalizationConfiguration::Attributes::EventList::Id, true, chip::NullOptional); + LogStep(5, "Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("LUNIT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, + UnitLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { LogStep(6, "Step 6: TH reads AcceptedCommandList from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, - LocalizationConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, + UnitLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 7: { LogStep(7, "Step 7: TH reads GeneratedCommandList from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, - LocalizationConfiguration::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, + UnitLocalization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } } return CHIP_NO_ERROR; } }; -class Test_TC_LUNIT_1_2Suite : public TestCommand +class Test_TC_LUNIT_3_1Suite : public TestCommand { public: - Test_TC_LUNIT_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LUNIT_1_2", 10, credsIssuerConfig) + Test_TC_LUNIT_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LUNIT_3_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -45762,227 +45218,7 @@ class Test_TC_LUNIT_1_2Suite : public TestCommand AddArgument("timeout", 0, UINT16_MAX, &mTimeout); } - ~Test_TC_LUNIT_1_2Suite() {} - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } - - // - // Tests methods - // - - void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override - { - bool shouldContinue = false; - - switch (mTestIndex - 1) - { - case 0: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 1: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint16_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("clusterRevision", value, 1U)); - VerifyOrReturn(CheckConstraintType("value", "int16u", "int16u")); - } - break; - case 2: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("featureMap", value, 0UL)); - VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); - } - break; - case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - uint32_t value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "bitmap32", "bitmap32")); - VerifyOrReturn(CheckConstraintHasMasksSet("value", value, 1UL)); - } - break; - case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Step 1: Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("LUNIT.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, - UnitLocalization::Attributes::ClusterRevision::Id, true, chip::NullOptional); - } - case 2: { - LogStep(2, "Step 3: TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip("LUNIT.S.Afffc && !LUNIT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::FeatureMap::Id, - true, chip::NullOptional); - } - case 3: { - LogStep(3, "Step 3: Given LUNIT.S.F00(TEMP) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("LUNIT.S.Afffc && LUNIT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::FeatureMap::Id, - true, chip::NullOptional); - } - case 4: { - LogStep(4, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, - UnitLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, - UnitLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("LUNIT.S.Afffb && LUNIT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, - UnitLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, "Step 5: TH reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::EventList::Id, - true, chip::NullOptional); - } - case 8: { - LogStep(8, "Step 6: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("LUNIT.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, - UnitLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 9: { - LogStep(9, "Step 7: TH reads GeneratedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("LUNIT.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, - UnitLocalization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_LUNIT_3_1Suite : public TestCommand -{ -public: - Test_TC_LUNIT_3_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LUNIT_3_1", 9, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_LUNIT_3_1Suite() {} + ~Test_TC_LUNIT_3_1Suite() {} chip::System::Clock::Timeout GetWaitDuration() const override { @@ -46145,7 +45381,7 @@ class Test_TC_LUNIT_3_1Suite : public TestCommand class Test_TC_LTIME_1_2Suite : public TestCommand { public: - Test_TC_LTIME_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LTIME_1_2", 10, credsIssuerConfig) + Test_TC_LTIME_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LTIME_1_2", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -46210,27 +45446,12 @@ class Test_TC_LTIME_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46239,7 +45460,7 @@ class Test_TC_LTIME_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46248,19 +45469,7 @@ class Test_TC_LTIME_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46272,7 +45481,7 @@ class Test_TC_LTIME_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 9: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46308,55 +45517,38 @@ class Test_TC_LTIME_1_2Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && LTIME.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && LTIME.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffb && LTIME.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afffb && LTIME.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, "Step 5: TH reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && LTIME.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::EventList::Id, true, chip::NullOptional); - } - case 8: { - LogStep(8, "Step 6: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 6: TH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 7: TH reads GeneratedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 7: { + LogStep(7, "Step 7: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -46369,7 +45561,7 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand { public: Test_TC_LOWPOWER_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_LOWPOWER_1_1", 8, credsIssuerConfig) + TestCommand("Test_TC_LOWPOWER_1_1", 6, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -46425,30 +45617,6 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand } break; case 3: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 0)); - VerifyOrReturn(CheckValue("attributeList[0]", iter_0.GetValue(), 65528UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 1)); - VerifyOrReturn(CheckValue("attributeList[1]", iter_0.GetValue(), 65529UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 2)); - VerifyOrReturn(CheckValue("attributeList[2]", iter_0.GetValue(), 65530UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 3)); - VerifyOrReturn(CheckValue("attributeList[3]", iter_0.GetValue(), 65531UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 4)); - VerifyOrReturn(CheckValue("attributeList[4]", iter_0.GetValue(), 65532UL)); - VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 5)); - VerifyOrReturn(CheckValue("attributeList[5]", iter_0.GetValue(), 65533UL)); - VerifyOrReturn(CheckNoMoreListItems("attributeList", iter_0, 6)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46470,7 +45638,7 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 5: + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46484,7 +45652,7 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46496,18 +45664,6 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -46542,32 +45698,19 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 3: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 3: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(4, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); + case 5: { + LogStep(5, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -46577,7 +45720,7 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand { public: Test_TC_KEYPADINPUT_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_KEYPADINPUT_1_2", 11, credsIssuerConfig) + TestCommand("Test_TC_KEYPADINPUT_1_2", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -46667,26 +45810,12 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46695,7 +45824,7 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46704,18 +45833,6 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -46770,32 +45887,19 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand } case 6: { LogStep(6, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 8: { - LogStep(8, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(7, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 5: Read the global attribute: GeneratedCommandList"); + case 8: { + LogStep(8, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -46805,7 +45909,7 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand { public: Test_TC_APPLAUNCHER_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_APPLAUNCHER_1_3", 11, credsIssuerConfig) + TestCommand("Test_TC_APPLAUNCHER_1_3", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -46877,26 +45981,12 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46905,7 +45995,7 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46914,7 +46004,7 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46925,7 +46015,7 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46934,18 +46024,6 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -46987,44 +46065,31 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand } case 4: { LogStep(4, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, - ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 6: { - LogStep(6, "Step 3b: Read the optional attribute(CatalogList) in AttributeList"); + LogStep(5, "Step 3b: Read the optional attribute(CatalogList) in AttributeList"); VerifyOrDo(!ShouldSkip("APPLAUNCHER.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 3c: Read the optional attribute(CurrentApp) in AttributeList"); + case 6: { + LogStep(6, "Step 3c: Read the optional attribute(CurrentApp) in AttributeList"); VerifyOrDo(!ShouldSkip("APPLAUNCHER.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 4: Read the global attribute: AcceptedCommandList"); + case 7: { + LogStep(7, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 5: Read the global attribute: GeneratedCommandList"); + case 8: { + LogStep(8, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, - ApplicationLauncher::Attributes::EventList::Id, true, chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -47034,7 +46099,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand { public: Test_TC_MEDIAINPUT_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_MEDIAINPUT_1_4", 11, credsIssuerConfig) + TestCommand("Test_TC_MEDIAINPUT_1_4", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47106,26 +46171,12 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47134,7 +46185,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47143,7 +46194,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47155,7 +46206,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47167,18 +46218,6 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47220,44 +46259,31 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand } case 4: { LogStep(4, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 6: { - LogStep(6, "Step 3b: Read the optional attribute(InputList) in AttributeList"); + LogStep(5, "Step 3b: Read the optional attribute(InputList) in AttributeList"); VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 3c: Read the optional attribute(CurrentInput) in AttributeList"); + case 6: { + LogStep(6, "Step 3c: Read the optional attribute(CurrentInput) in AttributeList"); VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 4: Read the global attribute: AcceptedCommandList"); + case 7: { + LogStep(7, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 5: Read the global attribute: GeneratedCommandList"); + case 8: { + LogStep(8, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -47267,7 +46293,7 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand { public: Test_TC_WAKEONLAN_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_WAKEONLAN_1_5", 9, credsIssuerConfig) + TestCommand("Test_TC_WAKEONLAN_1_5", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47330,26 +46356,12 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47358,7 +46370,7 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47370,7 +46382,7 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47382,18 +46394,6 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47428,38 +46428,25 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand } case 3: { LogStep(3, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, "Step 3b: Read the optional attribute(MACAddress) in AttributeList"); + LogStep(4, "Step 3b: Read the optional attribute(MACAddress) in AttributeList"); VerifyOrDo(!ShouldSkip("WAKEONLAN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 4: Read the global attribute: AcceptedCommandList"); + case 5: { + LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 5: Read the global attribute: GeneratedCommandList"); + case 6: { + LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -47469,7 +46456,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand { public: Test_TC_CHANNEL_1_6Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CHANNEL_1_6", 16, credsIssuerConfig) + TestCommand("Test_TC_CHANNEL_1_6", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47550,26 +46537,12 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47578,7 +46551,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47587,7 +46560,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47596,7 +46569,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47605,7 +46578,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47614,7 +46587,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47623,7 +46596,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47635,7 +46608,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47644,18 +46617,6 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47703,70 +46664,57 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand } case 5: { LogStep(5, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 7: { - LogStep(7, "Step 3b: Read the optional attribute(ChannelList): AttributeList"); + LogStep(6, "Step 3b: Read the optional attribute(ChannelList): AttributeList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 3c: Reading optional attribute(Lineup) in AttributeList"); + case 7: { + LogStep(7, "Step 3c: Reading optional attribute(Lineup) in AttributeList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 3d: Read the optional attribute(CurrentChannel): AttributeList"); + case 8: { + LogStep(8, "Step 3d: Read the optional attribute(CurrentChannel): AttributeList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 4a: Read the optional command(ChangeChannel) in AcceptedCommandList"); + case 9: { + LogStep(9, "Step 4a: Read the optional command(ChangeChannel) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 4b: Read the optional command(ChangeChannelByNumber) in AcceptedCommandList"); + case 10: { + LogStep(10, "Step 4b: Read the optional command(ChangeChannelByNumber) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 4c: Read the optional command(SkipChannel) in AcceptedCommandList"); + case 11: { + LogStep(11, "Step 4c: Read the optional command(SkipChannel) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 5a: Read the global attribute: GeneratedCommandList"); + case 12: { + LogStep(12, "Step 5a: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip("( !CHANNEL.S.F00 && !CHANNEL.S.F01 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 5b: Read the global attribute: GeneratedCommandList"); + case 13: { + LogStep(13, "Step 5b: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.F00 || CHANNEL.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -47776,7 +46724,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand { public: Test_TC_MEDIAPLAYBACK_1_7Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_MEDIAPLAYBACK_1_7", 24, credsIssuerConfig) + TestCommand("Test_TC_MEDIAPLAYBACK_1_7", 22, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47858,27 +46806,12 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47887,7 +46820,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47896,7 +46829,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47905,7 +46838,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47914,7 +46847,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47923,7 +46856,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47932,7 +46865,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47943,7 +46876,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47952,7 +46885,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 15: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47961,7 +46894,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 16: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47970,7 +46903,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 17: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47979,7 +46912,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47988,7 +46921,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47997,7 +46930,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48006,7 +46939,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48015,7 +46948,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48024,18 +46957,6 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 23: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -48084,116 +47005,103 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand } case 5: { LogStep(5, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 7: { - LogStep(7, "Step 3b: Read the optional attribute(StartTime) in AttributeList"); + LogStep(6, "Step 3b: Read the optional attribute(StartTime) in AttributeList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 3c: Read the optional attribute(Duration) in AttributeList"); + case 7: { + LogStep(7, "Step 3c: Read the optional attribute(Duration) in AttributeList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 3d: Read the optional attribute(SampledPosition) in AttributeList"); + case 8: { + LogStep(8, "Step 3d: Read the optional attribute(SampledPosition) in AttributeList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 3e: Read the optional attribute(PlaybackSpeed) in AttributeList"); + case 9: { + LogStep(9, "Step 3e: Read the optional attribute(PlaybackSpeed) in AttributeList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 3f: Read the optional attribute(SeekRangeEnd) in AttributeList"); + case 10: { + LogStep(10, "Step 3f: Read the optional attribute(SeekRangeEnd) in AttributeList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 3g: Read the optional attribute(SeekRangeStart) in AttributeList"); + case 11: { + LogStep(11, "Step 3g: Read the optional attribute(SeekRangeStart) in AttributeList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 4a: Read the global attribute: AcceptedCommandList"); + case 12: { + LogStep(12, "Step 4a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 4b: Read the optional command(StartOver) in AcceptedCommandList"); + case 13: { + LogStep(13, "Step 4b: Read the optional command(StartOver) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 4c: Read the optional command(Previous) in AcceptedCommandList"); + case 14: { + LogStep(14, "Step 4c: Read the optional command(Previous) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Step 4d: Read the optional command(Next) in AcceptedCommandList"); + case 15: { + LogStep(15, "Step 4d: Read the optional command(Next) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 4e: Read the optional command(Rewind) in AcceptedCommandList"); + case 16: { + LogStep(16, "Step 4e: Read the optional command(Rewind) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Step 4f: Read the optional command(FastForward) in AcceptedCommandList"); + case 17: { + LogStep(17, "Step 4f: Read the optional command(FastForward) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Step 4g: Read the optional command(SkipForward) in AcceptedCommandList"); + case 18: { + LogStep(18, "Step 4g: Read the optional command(SkipForward) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C08.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, "Step 4h: Read the optional command(SkipBackward) in AcceptedCommandList"); + case 19: { + LogStep(19, "Step 4h: Read the optional command(SkipBackward) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C09.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, "Step 4i: Read the optional command(Seek) in AcceptedCommandList"); + case 20: { + LogStep(20, "Step 4i: Read the optional command(Seek) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0b.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, "Step 5: Read the global attribute: GeneratedCommandList"); + case 21: { + LogStep(21, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -48203,7 +47111,7 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand { public: Test_TC_AUDIOOUTPUT_1_8Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_AUDIOOUTPUT_1_8", 9, credsIssuerConfig) + TestCommand("Test_TC_AUDIOOUTPUT_1_8", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -48277,28 +47185,12 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48307,7 +47199,7 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48319,18 +47211,6 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -48372,32 +47252,19 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand } case 4: { LogStep(4, "Step 3: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 3: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 6: { - LogStep(6, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 5: Read the global attribute: GeneratedCommandList"); + case 6: { + LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -48406,7 +47273,7 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand class Test_TC_TGTNAV_1_9Suite : public TestCommand { public: - Test_TC_TGTNAV_1_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TGTNAV_1_9", 9, credsIssuerConfig) + Test_TC_TGTNAV_1_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TGTNAV_1_9", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -48470,27 +47337,12 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48499,7 +47351,7 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48508,7 +47360,7 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48517,18 +47369,6 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -48563,38 +47403,25 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand } case 3: { LogStep(3, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, - TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 3b: Read the optional attribute(CurrentTarget) in AttributeList"); + LogStep(4, "Step 3b: Read the optional attribute(CurrentTarget) in AttributeList"); VerifyOrDo(!ShouldSkip("TGTNAV.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 4: Read the global attribute: AcceptedCommandList"); + case 5: { + LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 5: Read the global attribute: GeneratedCommandList"); + case 6: { + LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::EventList::Id, - true, chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -48603,7 +47430,7 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand class Test_TC_APBSC_1_10Suite : public TestCommand { public: - Test_TC_APBSC_1_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_APBSC_1_10", 11, credsIssuerConfig) + Test_TC_APBSC_1_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_APBSC_1_10", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -48671,31 +47498,12 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48704,7 +47512,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48713,7 +47521,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48722,7 +47530,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48734,7 +47542,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48746,18 +47554,6 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -48792,50 +47588,37 @@ class Test_TC_APBSC_1_10Suite : public TestCommand } case 3: { LogStep(3, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, - ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 3b: Read the optional attribute(VendorName) in AttributeList"); + LogStep(4, "Step 3b: Read the optional attribute(VendorName) in AttributeList"); VerifyOrDo(!ShouldSkip("APBSC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 3c: Read the optional attribute(VendorID) in AttributeList"); + case 5: { + LogStep(5, "Step 3c: Read the optional attribute(VendorID) in AttributeList"); VerifyOrDo(!ShouldSkip("APBSC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 3d: Read the optional attribute(ProductID) in AttributeList"); + case 6: { + LogStep(6, "Step 3d: Read the optional attribute(ProductID) in AttributeList"); VerifyOrDo(!ShouldSkip("APBSC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 4: Read the global attribute: AcceptedCommandList"); + case 7: { + LogStep(7, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 5: Read the global attribute: GeneratedCommandList"); + case 8: { + LogStep(8, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::EventList::Id, - true, chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -48845,7 +47628,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand { public: Test_TC_CONTENTLAUNCHER_1_11Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CONTENTLAUNCHER_1_11", 13, credsIssuerConfig) + TestCommand("Test_TC_CONTENTLAUNCHER_1_11", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -48926,26 +47709,12 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48954,7 +47723,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48963,7 +47732,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48972,7 +47741,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48981,7 +47750,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -48990,18 +47759,6 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -49050,51 +47807,38 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand } case 5: { LogStep(5, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, - ContentLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, "Step 3b: Read the optional attribute(AcceptHeader): AttributeList"); + LogStep(6, "Step 3b: Read the optional attribute(AcceptHeader): AttributeList"); VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 3c: Read the optional attribute(SupportedStreamingProtocols): AttributeList"); + case 7: { + LogStep(7, "Step 3c: Read the optional attribute(SupportedStreamingProtocols): AttributeList"); VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 4a: Read the optional command(LaunchContent) in AcceptedCommandList attribute"); + case 8: { + LogStep(8, "Step 4a: Read the optional command(LaunchContent) in AcceptedCommandList attribute"); VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.C.C00.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 4b: Read the optional command(LaunchURL) in AcceptedCommandList attribute"); + case 9: { + LogStep(9, "Step 4b: Read the optional command(LaunchURL) in AcceptedCommandList attribute"); VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.C.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 5: Read the global attribute: GeneratedCommandList"); + case 10: { + LogStep(10, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 6: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::EventList::Id, - true, chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -49104,7 +47848,7 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand { public: Test_TC_ALOGIN_1_12Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_ALOGIN_1_12", 8, credsIssuerConfig) + TestCommand("Test_TC_ALOGIN_1_12", 6, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -49167,26 +47911,12 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -49197,7 +47927,7 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -49206,18 +47936,6 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -49252,32 +47970,19 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand } case 3: { LogStep(3, "Step 3: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 3: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(4, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); + case 5: { + LogStep(5, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 6: TH reads EventList attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::EventList::Id, true, - chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -54197,7 +52902,7 @@ class Test_TC_CONTENTLAUNCHER_10_7Suite : public TestCommand class Test_TC_MOD_1_1Suite : public TestCommand { public: - Test_TC_MOD_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_1_1", 11, credsIssuerConfig) + Test_TC_MOD_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_1_1", 12, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -54268,7 +52973,6 @@ class Test_TC_MOD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -54280,15 +52984,7 @@ class Test_TC_MOD_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 6: @@ -54297,38 +52993,25 @@ class Test_TC_MOD_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - } + shouldContinue = true; break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } + shouldContinue = true; break; case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -54342,6 +53025,10 @@ class Test_TC_MOD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -54388,44 +53075,78 @@ class Test_TC_MOD_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("MOD.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("MOD.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("MOD.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("MOD.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AttributeList::Id, true, - chip::NullOptional); + LogStep(7, + "Step 4d: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 8: { - LogStep(8, "Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 9: { - LogStep(9, "Step 5: Read the global attribute: AcceptedCommandList"); + LogStep(8, "Step 6a: TH reads AcceptedCommandList attribute from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 9: { + LogStep(9, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 10: { - LogStep(10, "Step 6: Read the global attribute: GeneratedCommandList"); + LogStep(10, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 11: { + LogStep(11, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -54702,7 +53423,7 @@ class OTA_SuccessfulTransferSuite : public TestCommand class Test_TC_OCC_1_1Suite : public TestCommand { public: - Test_TC_OCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OCC_1_1", 8, credsIssuerConfig) + Test_TC_OCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OCC_1_1", 6, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -54768,41 +53489,12 @@ class Test_TC_OCC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -54814,7 +53506,7 @@ class Test_TC_OCC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -54860,29 +53552,16 @@ class Test_TC_OCC_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, - OccupancySensing::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::EventList::Id, - true, chip::NullOptional); - } - case 6: { - LogStep(6, "Step 6: Read the global attribute: AcceptedCommandList"); + LogStep(4, "Step 6: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 7: Read the global attribute: GeneratedCommandList"); + case 5: { + LogStep(5, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -55256,7 +53935,7 @@ class Test_TC_OCC_2_3Suite : public TestCommand class Test_TC_OO_1_1Suite : public TestCommand { public: - Test_TC_OO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OO_1_1", 12, credsIssuerConfig) + Test_TC_OO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OO_1_1", 13, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -55339,27 +54018,12 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55371,11 +54035,11 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16387UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55386,7 +54050,7 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55397,6 +54061,10 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 66UL)); } break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -55409,6 +54077,10 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -55456,26 +54128,23 @@ class Test_TC_OO_1_1Suite : public TestCommand } case 5: { LogStep(5, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 7: { - LogStep(7, "Step 4b: Read the feature dependent(OO.S.F00) attribute in AttributeList"); + LogStep(6, "Step 4b: Read the feature dependent(OO.S.F00) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, - "Step 5: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); + case 7: { + LogStep(7, + "Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -55484,22 +54153,53 @@ class Test_TC_OO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 8: { + LogStep(8, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6b: Read the feature dependent(OO.S.F00) commands in AcceptedCommandList"); + case 9: { + LogStep(9, "Step 6b: Read the feature dependent(OO.S.F00) commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep(10, + "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 11: { - LogStep(11, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(11, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 12: { + LogStep(12, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -56451,7 +55151,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand { public: Test_TC_OPSTATE_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_OPSTATE_1_1", 13, credsIssuerConfig) + TestCommand("Test_TC_OPSTATE_1_1", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -56519,7 +55219,6 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -56531,40 +55230,27 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } + shouldContinue = true; break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); @@ -56576,8 +55262,8 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 9: @@ -56586,27 +55272,24 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - } + shouldContinue = true; break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); + } VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 12: @@ -56618,6 +55301,10 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -56652,65 +55339,98 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("OPSTATE.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("OPSTATE.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, - OperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); + LogStep(5, + "Step 4c: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 6: { - LogStep(6, "Step 5a: TH reads from the DUT the EventList attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::EventList::Id, - true, chip::NullOptional); - } - case 7: { - LogStep(7, "Step 5b: TH reads from the DUT the optional event(OperationCompletion) in EventList."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && OPSTATE.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::EventList::Id, - true, chip::NullOptional); - } - case 8: { - LogStep(8, "Step 6a: Read the optional command(Start) in AcceptedCommandList"); + LogStep(6, "Step 6a: Read the optional command(Start) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OPSTATE.S.C02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); + case 7: { + LogStep(7, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OPSTATE.S.C01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6c: Read the optional command(Pause) in AcceptedCommandList"); + case 8: { + LogStep(8, "Step 6c: Read the optional command(Pause) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OPSTATE.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); + case 9: { + LogStep(9, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OPSTATE.S.C03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep(10, + "Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 11: { + LogStep(11, "Step 7a: Read the global attribute: GeneratedCommandList"); + VerifyOrDo(!ShouldSkip("!OPSTATE.S.C00 || !OPSTATE.S.C01 || !OPSTATE.S.C02 || !OPSTATE.S.C03"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, + OperationalState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } case 12: { - LogStep(12, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(12, "Step 7a: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip("(OPSTATE.S.C00 || OPSTATE.S.C01 || OPSTATE.S.C02 || OPSTATE.S.C03)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 13: { + LogStep(13, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -56719,7 +55439,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand class Test_TC_PS_1_1Suite : public TestCommand { public: - Test_TC_PS_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PS_1_1", 20, credsIssuerConfig) + Test_TC_PS_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PS_1_1", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -56824,30 +55544,12 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 31UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 31UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -56856,7 +55558,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -56867,7 +55569,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -56877,7 +55579,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 28UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -56887,7 +55589,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 25UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -56899,7 +55601,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -56911,49 +55613,6 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -57014,87 +55673,43 @@ class Test_TC_PS_1_1Suite : public TestCommand } case 7: { LogStep(7, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 9: { - LogStep(9, "Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList"); + LogStep(8, "Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("PS.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList"); + case 9: { + LogStep(9, "Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("PS.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList"); + case 10: { + LogStep(10, "Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("PS.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList"); + case 11: { + LogStep(11, "Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("PS.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 5: Read the global attribute: AcceptedCommandList"); + case 12: { + LogStep(12, "Step 5: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 6: Read the global attribute: GeneratedCommandList"); + case 13: { + LogStep(13, "Step 6: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 7a: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 "), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 16: { - LogStep(16, "Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 17: { - LogStep(17, "Step 7c: Read PS.S.E01(BatFaultChange) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 18: { - LogStep(18, "Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 19: { - LogStep(19, - "Step 7e: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } } return CHIP_NO_ERROR; } @@ -57335,7 +55950,7 @@ class Test_TC_PS_2_1Suite : public TestCommand { chip::app::Clusters::PowerSource::BatCommonDesignationEnum value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "enum16", "int32u")); + VerifyOrReturn(CheckConstraintType("value", "enum16", "enum16")); VerifyOrReturn(CheckConstraintMinValue("value", value, 0U)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 80U)); } @@ -57363,7 +55978,7 @@ class Test_TC_PS_2_1Suite : public TestCommand { chip::app::Clusters::PowerSource::BatApprovedChemistryEnum value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "enum16", "int32u")); + VerifyOrReturn(CheckConstraintType("value", "enum16", "enum16")); VerifyOrReturn(CheckConstraintMinValue("value", value, 0U)); VerifyOrReturn(CheckConstraintMaxValue("value", value, 32U)); } @@ -57665,7 +56280,7 @@ class Test_TC_PS_2_1Suite : public TestCommand class Test_TC_PRS_1_1Suite : public TestCommand { public: - Test_TC_PRS_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PRS_1_1", 16, credsIssuerConfig) + Test_TC_PRS_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PRS_1_1", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -57740,7 +56355,6 @@ class Test_TC_PRS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -57752,14 +56366,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; case 6: @@ -57768,7 +56375,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; case 7: @@ -57777,7 +56384,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; case 8: @@ -57786,7 +56393,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; case 9: @@ -57795,7 +56402,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 10: @@ -57804,17 +56411,12 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); - } + shouldContinue = true; break; case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -57824,14 +56426,6 @@ class Test_TC_PRS_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -57856,94 +56450,71 @@ class Test_TC_PRS_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); - VerifyOrDo(!ShouldSkip("PRS.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { - LogStep(2, "Step 3a: Read the global attribute: FeatureMap"); - VerifyOrDo(!ShouldSkip("PRS.S.Afffc && !PRS.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(2, "Step 3: Read the global attribute: FeatureMap"); + VerifyOrDo(!ShouldSkip(" !PRS.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Step 3b: Given PRS.S.F00(EXT) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("PRS.S.F00 && PRS.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(3, "Step 3: Given PRS.S.F00(EXT) ensure featuremap has the correct bit set"); + VerifyOrDo(!ShouldSkip("PRS.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Step 4a: Read the global mandatory attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4a: Read the global mandatory attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: Read the optional attribute(ScaledValue) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4b: Read the optional attribute(ScaledValue) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0010 && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4c: Read the optional attribute(MinScaledValue) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4c: Read the optional attribute(MinScaledValue) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0011 && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0012 && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4e: Read the optional attribute(Scale) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4e: Read the optional attribute(Scale) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0014 && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4f: Read the optional attribute(Tolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4f: Read the optional attribute(Tolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0003 && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0013 && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, - PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 12: { - LogStep(12, + LogStep(11, "Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PRS.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 13: { - LogStep(13, - "Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PRS.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -57951,14 +56522,14 @@ class Test_TC_PRS_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 14: { - LogStep(14, + case 12: { + LogStep(12, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PRS.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -57966,14 +56537,14 @@ class Test_TC_PRS_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 15: { - LogStep(15, + case 13: { + LogStep(13, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PRS.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -58331,7 +56902,7 @@ class Test_TC_PRS_2_2Suite : public TestCommand class Test_TC_PCC_1_1Suite : public TestCommand { public: - Test_TC_PCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PCC_1_1", 50, credsIssuerConfig) + Test_TC_PCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PCC_1_1", 30, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -58464,7 +57035,6 @@ class Test_TC_PCC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 32UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -58476,18 +57046,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 32UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 12: @@ -58496,7 +57055,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 13: @@ -58505,7 +57064,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 14: @@ -58514,7 +57073,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; case 15: @@ -58523,7 +57082,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 16: @@ -58532,7 +57091,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; case 17: @@ -58541,7 +57100,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; case 18: @@ -58550,7 +57109,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; case 19: @@ -58559,7 +57118,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; case 20: @@ -58568,7 +57127,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; case 21: @@ -58577,7 +57136,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; case 22: @@ -58586,7 +57145,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; case 23: @@ -58595,7 +57154,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; case 24: @@ -58604,7 +57163,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); } break; case 25: @@ -58613,7 +57172,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); } break; case 26: @@ -58622,196 +57181,18 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); } break; case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); - } + shouldContinue = true; break; case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; case 29: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 30: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 31: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 32: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } - break; - case 33: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - } - break; - case 34: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - } - break; - case 35: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - } - break; - case 36: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - } - break; - case 37: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - } - break; - case 38: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); - } - break; - case 39: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - } - break; - case 40: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); - } - break; - case 41: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); - } - break; - case 42: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); - } - break; - case 43: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); - } - break; - case 44: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); - } - break; - case 45: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); - } - break; - case 46: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); - } - break; - case 47: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 48: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -58839,321 +57220,168 @@ class Test_TC_PCC_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3a: TH reads the FeatureMap attribute from the DUT"); - VerifyOrDo(!ShouldSkip(" PCC.S.Afffc && !PCC.S.F00 && !PCC.S.F01 && !PCC.S.F02 && !PCC.S.F03 && !PCC.S.F04 && " - "!PCC.S.F05 && !PCC.S.F06 "), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo( + !ShouldSkip(" !PCC.S.F00 && !PCC.S.F01 && !PCC.S.F02 && !PCC.S.F03 && !PCC.S.F04 && !PCC.S.F05 && !PCC.S.F06 "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 3b: Given PCC.S.F00(PRSCONST) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("PCC.S.F00 && PCC.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PCC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Step 3c: Given PCC.S.F01(PRSCOMP) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("PCC.S.F01 && PCC.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PCC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 5: { LogStep(5, "Step 3d: Given PCC.S.F02(FLW) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("PCC.S.F02 && PCC.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PCC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 6: { LogStep(6, "Step 3e: Given PCC.S.F03(SPD) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("PCC.S.F03 && PCC.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PCC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 7: { LogStep(7, "Step 3f: Given PCC.S.F04(TEMP) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("PCC.S.F04 && PCC.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PCC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 8: { LogStep(8, "Step 3g: Given PCC.S.F05(AUTO) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("PCC.S.F05 && PCC.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PCC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 9: { LogStep(9, "Step 3h: Given PCC.S.F06(LOCAL) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("PCC.S.F06 && PCC.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PCC.S.F06"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 10: { LogStep(10, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0003 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0004 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0005 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0006 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0007 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0008 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0009 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 19: { - LogStep(19, "Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A000a && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A000b && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 21: { - LogStep(21, "Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A000c && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(21, "Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 22: { - LogStep(22, "Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0010 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 23: { - LogStep(23, "Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0014 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(23, "Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 24: { - LogStep(24, "Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0015 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(24, "Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 25: { - LogStep(25, "Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0016 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(25, "Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 26: { - LogStep(26, "Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0017 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(26, "Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 27: { - LogStep(27, "Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0021 && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 28: { - LogStep(28, + LogStep(27, "Step 4r: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PCC.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 29: { - LogStep(29, "Step 5a: TH reads EventList from DUT"); - VerifyOrDo( - !ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.Afffa && !PCC.S.E00 && !PCC.S.E01 && !PCC.S.E02 && !PCC.S.E03 && " - "!PCC.S.E04 && !PCC.S.E05 && !PCC.S.E06 && !PCC.S.E07 && !PCC.S.E08 && !PCC.S.E09 && !PCC.S.E0a && " - "!PCC.S.E0b && !PCC.S.E0c && !PCC.S.E0d && !PCC.S.E0e && !PCC.S.E0f && !PCC.S.E10 "), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 30: { - LogStep(30, "Step 5b: TH reads from the DUT the EventList optional (SupplyVoltageLow)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E00 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 31: { - LogStep(31, "Step 5c: TH reads from the DUT the EventList optional (SupplyVoltageHigh)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E01 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 32: { - LogStep(32, "Step 5d: TH reads from the DUT the EventList optional (PowerMissingPhase)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E02 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 33: { - LogStep(33, "Step 5e: TH reads from the DUT the EventList optional (SystemPressureLow)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E03 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 34: { - LogStep(34, "Step 5f: TH reads from the DUT the EventList optional (SystemPressureHigh)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E04 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 35: { - LogStep(35, "Step 5g: TH reads from the DUT the EventList optional (DryRunning)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E05 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 36: { - LogStep(36, "Step 5h: TH reads from the DUT the EventList optional (MotorTemperatureHigh)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E06 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 37: { - LogStep(37, "Step 5i: TH reads from the DUT the EventList optional (PumpMotorFatalFailure)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E07 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 38: { - LogStep(38, "Step 5j: TH reads from the DUT the EventList optional (ElectronicTemperatureHigh)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E08 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 39: { - LogStep(39, "Step 5k: TH reads from the DUT the EventList optional (PumpBlocked)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E09 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 40: { - LogStep(40, "Step 5l: TH reads from the DUT the EventList optional (SensorFailure)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0a && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 41: { - LogStep(41, "Step 5m: TH reads from the DUT the EventList optional (ElectronicNonFatalFailure)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0b && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 42: { - LogStep(42, "Step 5n: TH reads from the DUT the EventList optional (ElectronicFatalFailure)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0c && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 43: { - LogStep(43, "Step 5o: TH reads from the DUT the EventList optional (GeneralFault)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0d && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 44: { - LogStep(44, "Step 5p: TH reads from the DUT the EventList optional (Leakage)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0e && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 45: { - LogStep(45, "Step 5q: TH reads from the DUT the EventList optional (AirDetection)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0f && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 46: { - LogStep(46, "Step 5r: TH reads from the DUT the EventList optional (TurbineOperation)attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E10 && PCC.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, - PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); - } - case 47: { - LogStep(47, - "Step 5s: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " - "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2. The list MAY contain values in the Manufacturer " - "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " - "0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), " - "where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PCC.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -59161,14 +57389,14 @@ class Test_TC_PCC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 48: { - LogStep(48, + case 28: { + LogStep(28, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PCC.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -59176,14 +57404,14 @@ class Test_TC_PCC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 49: { - LogStep(49, + case 29: { + LogStep(29, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PCC.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -60306,7 +58534,7 @@ class Test_TC_PCC_2_4Suite : public TestCommand class Test_TC_PSCFG_1_1Suite : public TestCommand { public: - Test_TC_PSCFG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_1_1", 8, credsIssuerConfig) + Test_TC_PSCFG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_1_1", 6, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -60370,27 +58598,12 @@ class Test_TC_PSCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -60402,7 +58615,7 @@ class Test_TC_PSCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -60414,10 +58627,6 @@ class Test_TC_PSCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -60452,38 +58661,19 @@ class Test_TC_PSCFG_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), PowerSourceConfiguration::Id, PowerSourceConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), PowerSourceConfiguration::Id, - PowerSourceConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 5: TH reads the AcceptedCommandList attribute from the DUT"); + LogStep(4, "Step 5: TH reads the AcceptedCommandList attribute from the DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), PowerSourceConfiguration::Id, PowerSourceConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 6: TH reads the GeneratedCommandList attribute from the DUT"); + case 5: { + LogStep(5, "Step 6: TH reads the GeneratedCommandList attribute from the DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), PowerSourceConfiguration::Id, PowerSourceConfiguration::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, - "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } } return CHIP_NO_ERROR; } @@ -60573,7 +58763,7 @@ class Test_TC_PSCFG_2_1Suite : public TestCommand class Test_TC_RH_1_1Suite : public TestCommand { public: - Test_TC_RH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_RH_1_1", 9, credsIssuerConfig) + Test_TC_RH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_RH_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -60639,29 +58829,12 @@ class Test_TC_RH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -60670,7 +58843,7 @@ class Test_TC_RH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -60682,7 +58855,7 @@ class Test_TC_RH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -60694,10 +58867,6 @@ class Test_TC_RH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -60732,44 +58901,25 @@ class Test_TC_RH_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, - RelativeHumidityMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); + LogStep(4, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); VerifyOrDo(!ShouldSkip("RH.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 5: Read the global attribute: AcceptedCommandList"); + case 5: { + LogStep(5, "Step 5: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 6: Read the global attribute: GeneratedCommandList"); + case 6: { + LogStep(6, "Step 6: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, - "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } } return CHIP_NO_ERROR; } @@ -60915,7 +59065,7 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand { public: Test_TC_SMOKECO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_SMOKECO_1_1", 25, credsIssuerConfig) + TestCommand("Test_TC_SMOKECO_1_1", 18, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -61083,73 +59233,6 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand } break; case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); - } - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - } - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - } - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); - } - break; - case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - } - break; - case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -61161,7 +59244,7 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 23: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -61170,7 +59253,7 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 24: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -61287,61 +59370,19 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand true, chip::NullOptional); } case 15: { - LogStep(15, "TH reads from the DUT the EventList attribute"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 16: { - LogStep(16, "TH reads from the DUT the EventList attribute(SmokeAlarm)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 17: { - LogStep(17, "TH reads from the DUT the EventList attribute(COAlarm)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 18: { - LogStep(18, "TH reads from the DUT the EventList attribute(AlarmMuted)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E06"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 19: { - LogStep(19, "TH reads from the DUT the EventList attribute(MuteEnded)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E07"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 20: { - LogStep(20, "TH reads from the DUT the EventList attribute(InterconnectSmokeAlarm)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 21: { - LogStep(21, "TH reads from the DUT the EventList attribute(InterconnectCOAlarm)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E09"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 22: { - LogStep(22, "TH reads from the DUT the AcceptedCommandList attribute"); + LogStep(15, "TH reads from the DUT the AcceptedCommandList attribute"); VerifyOrDo(!ShouldSkip("!SMOKECO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "TH reads from the DUT the AcceptedCommandList attribute"); + case 16: { + LogStep(16, "TH reads from the DUT the AcceptedCommandList attribute"); VerifyOrDo(!ShouldSkip("SMOKECO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "TH reads from the DUT the GeneratedCommandList attribute"); + case 17: { + LogStep(17, "TH reads from the DUT the GeneratedCommandList attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -65555,7 +63596,7 @@ class Test_TC_SMOKECO_2_6Suite : public TestCommand class Test_TC_SWTCH_1_1Suite : public TestCommand { public: - Test_TC_SWTCH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_1_1", 20, credsIssuerConfig) + Test_TC_SWTCH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_1_1", 12, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -65687,7 +63728,6 @@ class Test_TC_SWTCH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -65696,105 +63736,16 @@ class Test_TC_SWTCH_1_1Suite : public TestCommand case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); { auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); } VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - } - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - } - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - } - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - } - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 19: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -65878,73 +63829,17 @@ class Test_TC_SWTCH_1_1Suite : public TestCommand } case 9: { LogStep(9, "Step 4b: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("!SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4b: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 11: { - LogStep(11, "Step 5a: Read the global attribute: EventList "); - VerifyOrDo( - !ShouldSkip( - "PICS_EVENT_LIST_ENABLED && !SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 "), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 12: { - LogStep(12, "Step 5b: Read EventList if SWTCH.S.F00(LS)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 13: { - LogStep(13, "Step 5c: Read EventList if SWTCH.S.F01(MS) & !SWTCH.S.F02(MSR)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && !SWTCH.S.F02"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 14: { - LogStep(14, "Step 5d: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 15: { - LogStep(15, "Step 5e: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && !SWTCH.S.F04"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 16: { - LogStep(16, "Step 5f: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) "); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && SWTCH.S.F04"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 17: { - LogStep(17, "Step 5g: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) "); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && SWTCH.S.F04"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 18: { - LogStep(18, "Step 6: Read the global attribute: AcceptedCommandList"); + LogStep(10, "Step 6: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Step 7: Read the global attribute: GeneratedCommandList"); + case 11: { + LogStep(11, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -66073,7 +63968,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand { public: Test_TC_RVCOPSTATE_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_RVCOPSTATE_1_1", 13, credsIssuerConfig) + TestCommand("Test_TC_RVCOPSTATE_1_1", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -66141,7 +64036,6 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -66153,43 +64047,36 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 8: @@ -66207,31 +64094,14 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("generatedCommandList", iter_0, 0)); + } VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - } - break; - case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66274,60 +64144,49 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, - RvcOperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT"); + LogStep(4, "Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 5a: TH reads from the DUT the EventList attribute."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, - RvcOperationalState::Attributes::EventList::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, "Step 5b: TH reads from the DUT the optional event(OperationCompletion) in EventList."); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && RVCOPSTATE.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, - RvcOperationalState::Attributes::EventList::Id, true, chip::NullOptional); - } - case 8: { - LogStep(8, "Step 6a: Read the optional command(Pause) in AcceptedCommandList"); + case 5: { + LogStep(5, "Step 6a: Read the optional command(Pause) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); + case 6: { + LogStep(6, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6c: Read the optional command(Start) in AcceptedCommandList"); + case 7: { + LogStep(7, "Step 6c: Read the optional command(Start) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); + case 8: { + LogStep(8, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C03.Rsp || RVCOPSTATE.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 7: Read the global attribute: GeneratedCommandList"); + case 9: { + LogStep(9, "Step 7: Read the global attribute: GeneratedCommandList"); + VerifyOrDo( + !ShouldSkip(" !RVCOPSTATE.S.C00.Rsp && !RVCOPSTATE.S.C01.Rsp && !RVCOPSTATE.S.C02.Rsp && !RVCOPSTATE.S.C03.Rsp "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, + RvcOperationalState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } + case 10: { + LogStep(10, "Step 7: Read the global attribute: GeneratedCommandList"); VerifyOrDo( !ShouldSkip(" RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp || RVCOPSTATE.S.C03.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -66342,7 +64201,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand class Test_TC_TMP_1_1Suite : public TestCommand { public: - Test_TC_TMP_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TMP_1_1", 9, credsIssuerConfig) + Test_TC_TMP_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TMP_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -66408,29 +64267,12 @@ class Test_TC_TMP_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66439,7 +64281,7 @@ class Test_TC_TMP_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 6: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66451,7 +64293,7 @@ class Test_TC_TMP_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66463,10 +64305,6 @@ class Test_TC_TMP_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -66501,44 +64339,25 @@ class Test_TC_TMP_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, - TemperatureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); + LogStep(4, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); VerifyOrDo(!ShouldSkip("TMP.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 5: Read AcceptedCommandList attribute from the DUT"); + case 5: { + LogStep(5, "Step 5: Read AcceptedCommandList attribute from the DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 6: Read GeneratedCommandList attribute from the DUT"); + case 6: { + LogStep(6, "Step 6: Read GeneratedCommandList attribute from the DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, - "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } } return CHIP_NO_ERROR; } @@ -66683,7 +64502,7 @@ class Test_TC_TMP_2_1Suite : public TestCommand class Test_TC_TSTAT_1_1Suite : public TestCommand { public: - Test_TC_TSTAT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_1_1", 59, credsIssuerConfig) + Test_TC_TSTAT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_1_1", 57, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -66807,29 +64626,12 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 28UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 27UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 28UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66838,7 +64640,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66847,7 +64649,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66856,7 +64658,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 15: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66865,7 +64667,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; - case 16: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66874,7 +64676,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; - case 17: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66885,7 +64687,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 25UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66896,7 +64698,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 34UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66907,7 +64709,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 54UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66918,7 +64720,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 57UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66927,7 +64729,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66936,7 +64738,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66945,7 +64747,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66954,7 +64756,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66963,7 +64765,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 29UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66972,7 +64774,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 35UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66981,7 +64783,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 36UL)); } break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66990,7 +64792,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 37UL)); } break; - case 29: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66999,7 +64801,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; - case 30: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67008,7 +64810,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 48UL)); } break; - case 31: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67017,7 +64819,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 49UL)); } break; - case 32: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67026,7 +64828,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 50UL)); } break; - case 33: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67035,7 +64837,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 58UL)); } break; - case 34: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67044,7 +64846,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); } break; - case 35: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67053,7 +64855,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 65UL)); } break; - case 36: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67062,7 +64864,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 66UL)); } break; - case 37: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67071,7 +64873,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 67UL)); } break; - case 38: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67080,7 +64882,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 68UL)); } break; - case 39: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67089,7 +64891,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 69UL)); } break; - case 40: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67098,7 +64900,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 70UL)); } break; - case 41: + case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67107,7 +64909,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 71UL)); } break; - case 42: + case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67116,7 +64918,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 43: + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67125,7 +64927,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 44: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67134,7 +64936,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 45: + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67143,7 +64945,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; - case 46: + case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67152,7 +64954,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); } break; - case 47: + case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67161,7 +64963,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 48: + case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67170,7 +64972,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 49: + case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67179,7 +64981,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 50: + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67188,7 +64990,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); } break; - case 51: + case 50: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67197,7 +64999,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 24UL)); } break; - case 52: + case 51: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67206,7 +65008,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 30UL)); } break; - case 53: + case 52: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67218,7 +65020,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 54: + case 53: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67227,7 +65029,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 55: + case 54: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67239,7 +65041,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 56: + case 55: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67248,7 +65050,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 57: + case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67257,10 +65059,6 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 58: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -67344,304 +65142,285 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand } case 10: { LogStep(10, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 19: { - LogStep(19, "Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F04 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F04 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "Step 4k: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 21: { - LogStep(21, "Step 4k: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(21, "Step 4l: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 22: { - LogStep(22, "Step 4l: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "Step 4m: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 23: { - LogStep(23, "Step 4m: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(23, "Step 4n: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 24: { - LogStep(24, "Step 4n: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(24, "Step 4o: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A001d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 25: { - LogStep(25, "Step 4o: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(25, "Step 4p: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 26: { - LogStep(26, "Step 4p: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(26, "Step 4q: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 27: { - LogStep(27, "Step 4q: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 4r: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 4r: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(28, "Step 4s: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 29: { - LogStep(29, "Step 4s: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(29, "Step 4t: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 30: { - LogStep(30, "Step 4t: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(30, "Step 4u: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 31: { - LogStep(31, "Step 4u: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(31, "Step 4x: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 32: { - LogStep(32, "Step 4x: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(32, "Step 5y: Read the optional attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 33: { - LogStep(33, "Step 5y: Read the optional attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(33, "Step 4z: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0040"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 34: { - LogStep(34, "Step 4z: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0040"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(34, "Step 4A: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0041"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 35: { - LogStep(35, "Step 4A: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0041"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(35, "Step 4B: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0042"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 36: { - LogStep(36, "Step 4B: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0042"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(36, "Step 4C: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0043"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 37: { - LogStep(37, "Step 4C: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0043"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(37, "Step 5D: Read the optional attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0044"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 38: { - LogStep(38, "Step 5D: Read the optional attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0044"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(38, "Step 4E: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0045"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 39: { - LogStep(39, "Step 4E: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0045"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(39, "Step 4F: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0046"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 40: { - LogStep(40, "Step 4F: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0046"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(40, "Step 5G: Read the optional attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0047"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 41: { - LogStep(41, "Step 5G: Read the optional attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0047"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(41, "Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 42: { - LogStep(42, "Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(42, "Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 43: { - LogStep(43, "Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(43, "Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 44: { - LogStep(44, "Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(44, "Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 45: { - LogStep(45, "Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(45, "Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 46: { - LogStep(46, "Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(46, "Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 47: { - LogStep(47, "Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(47, "Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 48: { - LogStep(48, "Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + LogStep(48, "Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 49: { - LogStep(49, "Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 50: { - LogStep(50, "Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + LogStep(49, "Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 51: { - LogStep(51, "Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + case 50: { + LogStep(50, "Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 52: { - LogStep(52, "Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList"); + case 51: { + LogStep(51, "Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.A001e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 53: { - LogStep(53, "Step 5a: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList"); + case 52: { + LogStep(52, "Step 5a: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 54: { - LogStep(54, "Step 5b: Read the optional attribute: AcceptedCommandList"); + case 53: { + LogStep(53, "Step 5b: Read the optional attribute: AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TSTAT.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 55: { - LogStep(55, "Step 6a: Read the global attribute: GeneratedCommandList"); + case 54: { + LogStep(54, "Step 6a: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip(" !TSTAT.S.C04.Rsp && !TSTAT.S.C02.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 56: { - LogStep(56, "Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList"); + case 55: { + LogStep(55, "Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 57: { - LogStep(57, "Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList"); + case 56: { + LogStep(56, "Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("TSTAT.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 58: { - LogStep(58, - "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } } return CHIP_NO_ERROR; } @@ -68818,7 +66597,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand class Test_TC_TSUIC_1_1Suite : public TestCommand { public: - Test_TC_TSUIC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSUIC_1_1", 8, credsIssuerConfig) + Test_TC_TSUIC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSUIC_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -68884,7 +66663,6 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -68892,19 +66670,7 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } + shouldContinue = true; break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -68919,6 +66685,10 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -68930,7 +66700,7 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -68967,33 +66737,62 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand ThermostatUserInterfaceConfiguration::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(3, "Step 4a: Read the global attribute: AttributeList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ThermostatUserInterfaceConfiguration::Id, ThermostatUserInterfaceConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ThermostatUserInterfaceConfiguration::Id, - ThermostatUserInterfaceConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); + LogStep(4, + "Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 5: { - LogStep(5, "Step 5: Read the global attribute: AcceptedCommandList"); + LogStep(5, "Step 5a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ThermostatUserInterfaceConfiguration::Id, ThermostatUserInterfaceConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 6: Read the global attribute: GeneratedCommandList"); + LogStep(6, + "Step 5b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Step 6a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ThermostatUserInterfaceConfiguration::Id, ThermostatUserInterfaceConfiguration::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, - "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " - "manufacturer specific event IDs."); + case 8: { + LogStep(8, + "Step 6b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -69692,7 +67491,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand { public: Test_TC_DGTHREAD_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DGTHREAD_1_1", 21, credsIssuerConfig) + TestCommand("Test_TC_DGTHREAD_1_1", 19, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -69808,43 +67607,12 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 62UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 59UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 60UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 61UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 62UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69853,7 +67621,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69869,7 +67637,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69911,7 +67679,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 55UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69920,7 +67688,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 56UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69929,7 +67697,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 57UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69938,37 +67706,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 58UL)); } break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 18: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69980,7 +67718,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 19: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69989,7 +67727,11 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 20: + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -70001,6 +67743,10 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -70061,87 +67807,91 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand } case 7: { LogStep(7, "Step 4a: TH reads mandatory attributes in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4a: TH reads mandatory attributes in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4b: TH reads Feature dependent attribute(DGTHREAD.S.F01(ERRCNT)) in attributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0006 && DGTHREAD.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4b: TH reads Feature dependent attribute(DGTHREAD.S.F01(ERRCNT)) in attributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0006 && DGTHREAD.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4c: TH reads Feature dependent attribute (DGTHREAD.S.F02(MLECNT)) in attributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4c: TH reads Feature dependent attribute (DGTHREAD.S.F02(MLECNT)) in attributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4d: TH reads Feature dependent attribute (DGTHREAD.S.F03(MACCNT)) in attributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4d: TH reads Feature dependent attribute (DGTHREAD.S.F03(MACCNT)) in attributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4e: Read the optional attribute (ActiveTimestamp) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4e: Read the optional attribute (ActiveTimestamp) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4f: Read the optional attribute (PendingTimestamp) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0039"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4f: Read the optional attribute (PendingTimestamp) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0039"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4g: Read the optional attribute (Delay) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4g: Read the optional attribute (Delay) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 6a: TH reads AcceptedCommandList from DUT"); + VerifyOrDo(!ShouldSkip(" !DGTHREAD.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); + ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 5a: TH reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !DGTHREAD.S.E00 && !DGTHREAD.S.E01 "), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 6b: TH reads AcceptedCommandList from DUT"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 5b: TH reads DGTHREAD.S.E00(ConnectionStatus) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGTHREAD.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + LogStep(16, + "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 17: { - LogStep(17, "Step 5c: TH reads DGTHREAD.S.E01(NetworkFaultChange) event in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGTHREAD.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Step 7a: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + ThreadNetworkDiagnostics::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Step 6a: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip(" !DGTHREAD.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 19: { - LogStep(19, "Step 6b: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 20: { - LogStep(20, "Step 7: TH reads GeneratedCommandList from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, - ThreadNetworkDiagnostics::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + LogStep(18, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } } return CHIP_NO_ERROR; @@ -71506,7 +69256,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand { public: Test_TC_TIMESYNC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_TIMESYNC_1_1", 36, credsIssuerConfig) + TestCommand("Test_TC_TIMESYNC_1_1", 33, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71632,27 +69382,12 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71660,7 +69395,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71668,7 +69403,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 2UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71681,7 +69416,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 15: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71694,7 +69429,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 11UL)); } break; - case 16: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71703,7 +69438,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; - case 17: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71712,7 +69447,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 12UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71720,7 +69455,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71728,7 +69463,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 9UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71736,7 +69471,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71744,51 +69479,11 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); } break; - case 22: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - } - break; - case 23: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } - break; - case 24: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintExcludes("value", value, 0UL)); - VerifyOrReturn(CheckConstraintExcludes("value", value, 1UL)); - VerifyOrReturn(CheckConstraintExcludes("value", value, 2UL)); - } - break; - case 25: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - } - break; - case 26: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); - } + shouldContinue = true; break; - case 27: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71796,7 +69491,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 28: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71805,7 +69500,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 29: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71814,7 +69509,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 30: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71822,7 +69517,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 31: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71830,7 +69525,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 5UL)); } break; - case 32: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71838,7 +69533,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 33: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71846,7 +69541,11 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 1UL)); } break; - case 34: + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71854,7 +69553,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 35: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71862,6 +69561,10 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); } break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -71939,159 +69642,170 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand } case 10: { LogStep(10, "TS4: Check for mandatory attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "TS4: Check for mandatory attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "TS4: Check for optional attribute TimeSource in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "TS4: Check for optional attribute TimeSource in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "TS4: Check for optional attribute TimeSource not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "TS4: Check for optional attribute TimeSource not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "TS4: Check for TZ feature-based attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "TS4: Check for TZ feature-based attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "TS4: Check for TZ feature-based attributes not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "TS4: Check for TZ feature-based attributes not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "TS4: Check for NTPC feature-based attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "TS4: Check for NTPC feature-based attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "TS4: Check for NTPC feature-based attributes not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "TS4: Check for NTPC feature-based attributes not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "TS4: Check for NTPS feature-based attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "TS4: Check for NTPS feature-based attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "TS4: Check for NTPS feature-based attributes not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 19: { - LogStep(19, "TS4: Check for NTPS feature-based attributes not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "TS4: Check for TSC feature-based attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "TS4: Check for TSC feature-based attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "TS4: Check for TSC feature-based attributes not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 21: { - LogStep(21, "TS4: Check for TSC feature-based attributes not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, - TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); + LogStep(21, + "TS4: Check for mandatory attributes in AttributeList. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 22: { - LogStep(22, "TS5: Check for mandatory events in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, - TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); - } - case 23: { - LogStep(23, "TS5: Check for TZ feature-based events in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, - TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); - } - case 24: { - LogStep(24, "TS5: Check for TZ feature-based events not in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, - TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); - } - case 25: { - LogStep(25, "TS5: Check for TSC feature-based events in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, - TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); - } - case 26: { - LogStep(26, "TS5: Check for TSC feature-based events not in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, - TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); - } - case 27: { - LogStep(27, "TS6: Check for mandatory commands in AcceptedCommandList"); + LogStep(22, "TS6: Check for mandatory commands in AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, "TS6: Check for TZ feature-based commands in AcceptedCommandList"); + case 23: { + LogStep(23, "TS6: Check for TZ feature-based commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 29: { - LogStep(29, "TS6: Check for TZ feature-based commands in not AcceptedCommandList"); + case 24: { + LogStep(24, "TS6: Check for TZ feature-based commands in not AcceptedCommandList"); VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, "TS6: Check for NTPC feature-based commands in AcceptedCommandList"); + case 25: { + LogStep(25, "TS6: Check for NTPC feature-based commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 31: { - LogStep(31, "TS6: Check for NTPC feature-based commands in not AcceptedCommandList"); + case 26: { + LogStep(26, "TS6: Check for NTPC feature-based commands in not AcceptedCommandList"); VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 32: { - LogStep(32, "TS6: Check for TSC feature-based commands in AcceptedCommandList"); + case 27: { + LogStep(27, "TS6: Check for TSC feature-based commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 33: { - LogStep(33, "TS6: Check for TSC feature-based commands in not AcceptedCommandList"); + case 28: { + LogStep(28, "TS6: Check for TSC feature-based commands in not AcceptedCommandList"); VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 34: { - LogStep(34, "TS6: Check for TZ feature-based commands in AcceptedCommandList"); + case 29: { + LogStep(29, + "TS6: Check for mandatory commands in AcceptedCommandList. 1. The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "TS7: Check for TZ feature-based commands in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 35: { - LogStep(35, "TS6: Check for TZ feature-based commands in not AcceptedCommandList"); + case 31: { + LogStep(31, "TS7: Check for TZ feature-based commands in not GeneratedCommandList"); VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 32: { + LogStep(32, + "TS7: Check for mandatory commands in GeneratedCommandList. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -72266,7 +69980,7 @@ class Test_TC_TIMESYNC_2_3Suite : public TestCommand class Test_TC_ULABEL_1_1Suite : public TestCommand { public: - Test_TC_ULABEL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ULABEL_1_1", 9, credsIssuerConfig) + Test_TC_ULABEL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ULABEL_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -72330,7 +70044,6 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -72338,17 +70051,7 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } + shouldContinue = true; break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -72358,14 +70061,6 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -72390,52 +70085,28 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); - VerifyOrDo(!ShouldSkip("ULABEL.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), UserLabel::Id, UserLabel::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3: Read the global attribute: FeatureMap"); - VerifyOrDo(!ShouldSkip("ULABEL.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), UserLabel::Id, UserLabel::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && ULABEL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), UserLabel::Id, UserLabel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && ULABEL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), UserLabel::Id, UserLabel::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 5: { - LogStep(5, + LogStep(4, "Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && ULABEL.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 6: { - LogStep(6, - "Step 5: Read the global attribute: EventList. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && ULABEL.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -72443,14 +70114,14 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, + case 5: { + LogStep(5, "Step 6: Read the global attribute: AcceptedCommandList. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && ULABEL.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -72458,14 +70129,14 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 8: { - LogStep(8, + case 6: { + LogStep(6, "Step 7: Read the global attribute: GeneratedCommandList. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && ULABEL.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -72967,7 +70638,7 @@ class Test_TC_ULABEL_2_4Suite : public TestCommand class Test_TC_DGWIFI_1_1Suite : public TestCommand { public: - Test_TC_DGWIFI_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGWIFI_1_1", 17, credsIssuerConfig) + Test_TC_DGWIFI_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGWIFI_1_1", 12, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73053,31 +70724,12 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73090,7 +70742,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73100,7 +70752,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73109,7 +70761,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73121,7 +70773,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73130,7 +70782,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73142,45 +70794,6 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - } - break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -73228,76 +70841,44 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand } case 5: { LogStep(5, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, - WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 7: { - LogStep(7, "Step 4b: TH reads Feature dependent(DGWIFI.S.F00) attributes in attributeList from DUT"); + LogStep(6, "Step 4b: TH reads Feature dependent(DGWIFI.S.F00) attributes in attributeList from DUT"); VerifyOrDo(!ShouldSkip("DGWIFI.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 4c: TH reads Feature dependent(DGWIFI.S.F01) attributes in attributeList from DUT"); + case 7: { + LogStep(7, "Step 4c: TH reads Feature dependent(DGWIFI.S.F01) attributes in attributeList from DUT"); VerifyOrDo(!ShouldSkip("DGWIFI.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 4d: TH reads optional attribute (CurrentMaxRate) in AttributeList from DUT"); + case 8: { + LogStep(8, "Step 4d: TH reads optional attribute (CurrentMaxRate) in AttributeList from DUT"); VerifyOrDo(!ShouldSkip("DGWIFI.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 5a: TH reads AcceptedCommandList from DUT"); + case 9: { + LogStep(9, "Step 5a: TH reads AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip(" !DGWIFI.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 5b: TH reads Feature dependent(DGWIFI.S.F01) command in AcceptedCommandList from DUT"); + case 10: { + LogStep(10, "Step 5b: TH reads Feature dependent(DGWIFI.S.F01) command in AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip("DGWIFI.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 6: TH reads GeneratedCommandList from DUT"); + case 11: { + LogStep(11, "Step 6: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 7a: TH reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !DGWIFI.S.E00 && !DGWIFI.S.E01 && !DGWIFI.S.E02 "), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, - WiFiNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 14: { - LogStep(14, "Step 7b: TH reads optional attribute (Disconnection) in EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGWIFI.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, - WiFiNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 15: { - LogStep(15, "Step 7c: TH reads optional attribute (AssociationFailure) in EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGWIFI.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, - WiFiNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 16: { - LogStep(16, "Step 7d: TH reads optional attribute (ConnectionStatus) in EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGWIFI.S.E02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, - WiFiNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } } return CHIP_NO_ERROR; } @@ -73755,7 +71336,7 @@ class Test_TC_DGWIFI_2_3Suite : public TestCommand class Test_TC_WNCV_1_1Suite : public TestCommand { public: - Test_TC_WNCV_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_WNCV_1_1", 21, credsIssuerConfig) + Test_TC_WNCV_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_WNCV_1_1", 19, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -73870,31 +71451,12 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73903,7 +71465,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73913,7 +71475,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73923,7 +71485,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73933,7 +71495,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73943,19 +71505,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); } break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 16: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73966,7 +71516,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 17: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73975,7 +71525,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 18: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73984,7 +71534,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 19: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -73993,7 +71543,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 20: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -74029,13 +71579,12 @@ class Test_TC_WNCV_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute"); - VerifyOrDo(!ShouldSkip("WNCV.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3a: TH reads from the DUT the (0xFFFC) FeatureMap attribute"); - VerifyOrDo(!ShouldSkip(" WNCV.S.Afffc && !WNCV.S.F00 && !WNCV.S.F01 && !WNCV.S.F02 && !WNCV.S.F03 && !WNCV.S.F04 "), + VerifyOrDo(!ShouldSkip("!WNCV.S.F00 && !WNCV.S.F01 && !WNCV.S.F02 && !WNCV.S.F03 && !WNCV.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::FeatureMap::Id, true, chip::NullOptional); @@ -74072,81 +71621,64 @@ class Test_TC_WNCV_1_1Suite : public TestCommand } case 8: { LogStep(8, "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && WNCV.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && WNCV.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.Afffb && WNCV.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03 && WNCV.S.Afffb"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03 && WNCV.S.Afffb"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 15: { - LogStep(15, "Step 5: Read the global attribute: EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::EventList::Id, - true, chip::NullOptional); - } - case 16: { - LogStep(16, "Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute"); - VerifyOrDo(!ShouldSkip("WNCV.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("WNCV.S.Afff9 && WNCV.S.F00 && WNCV.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 15: { + LogStep(15, "Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("WNCV.S.Afff9 && WNCV.S.F01 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 16: { + LogStep(16, "Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("WNCV.S.Afff9 && WNCV.S.F01 && WNCV.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 17: { + LogStep(17, "Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, "Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute"); - VerifyOrDo(!ShouldSkip("WNCV.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 18: { + LogStep(18, "Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -100211,7 +97743,7 @@ class TestMultiAdminSuite : public TestCommand class Test_TC_DGSW_1_1Suite : public TestCommand { public: - Test_TC_DGSW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGSW_1_1", 18, credsIssuerConfig) + Test_TC_DGSW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGSW_1_1", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -100283,26 +97815,12 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -100311,7 +97829,7 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 7: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -100320,7 +97838,7 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 8: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -100329,7 +97847,7 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 9: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -100338,36 +97856,11 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 13: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 14: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -100376,7 +97869,7 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 15: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -100388,11 +97881,11 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 16: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 17: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -100420,97 +97913,59 @@ class Test_TC_DGSW_1_1Suite : public TestCommand } case 1: { LogStep(1, "Step 2: TH reads the ClusterRevision from DUT"); - VerifyOrDo(!ShouldSkip("DGSW.S.Afffd"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { LogStep(2, "Step 3a: TH reads the FeatureMap from DUT"); - VerifyOrDo(!ShouldSkip(" !DGSW.S.F00 && DGSW.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip(" !DGSW.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { LogStep(3, "Step 3b: Given DGSW.S.F00(Watermarks) ensure featuremap has the correct bit set"); - VerifyOrDo(!ShouldSkip("DGSW.S.F00 && DGSW.S.Afffc"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("DGSW.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGSW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && DGSW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGSW.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGSW.S.A0000 && DGSW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGSW.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGSW.S.A0001 && DGSW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGSW.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGSW.S.A0002 && DGSW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList"); + VerifyOrDo(!ShouldSkip("( DGSW.S.F00 || DGSW.S.A0003 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList"); - VerifyOrDo(!ShouldSkip("( DGSW.S.F00 || DGSW.S.A0003 ) && DGSW.S.Afffb"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, - SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); - } - case 10: { - LogStep(10, + LogStep(9, "Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGSW.S.Afffb"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 11: { - LogStep(11, "Step 5a: TH reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DGSW.S.E00 && DGSW.S.Afffa"), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, - SoftwareDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 12: { - LogStep(12, "Step 5b: TH reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !DGSW.S.E00 && DGSW.S.Afffa "), - return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, - SoftwareDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); - } - case 13: { - LogStep(13, - "Step 5c: TH reads EventList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible " - "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " - "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " - "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " - "allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGSW.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -100518,27 +97973,27 @@ class Test_TC_DGSW_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 14: { - LogStep(14, "Step 6a: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip("DGSW.S.F00 && DGSW.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 10: { + LogStep(10, "Step 6a: TH reads AcceptedCommandList from DUT"); + VerifyOrDo(!ShouldSkip("DGSW.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 6b: TH reads AcceptedCommandList from DUT"); - VerifyOrDo(!ShouldSkip(" !DGSW.S.F00 && DGSW.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + case 11: { + LogStep(11, "Step 6b: TH reads AcceptedCommandList from DUT"); + VerifyOrDo(!ShouldSkip(" !DGSW.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, + case 12: { + LogStep(12, "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGSW.S.Afff9"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -100546,14 +98001,14 @@ class Test_TC_DGSW_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 17: { - LogStep(17, + case 13: { + LogStep(13, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && DGSW.S.Afff8"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); ListFreer listFreer; chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); @@ -108117,7 +105572,7 @@ class DL_SchedulesSuite : public TestCommand class Test_TC_DRLK_1_1Suite : public TestCommand { public: - Test_TC_DRLK_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_1_1", 49, credsIssuerConfig) + Test_TC_DRLK_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_1_1", 45, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -108284,31 +105739,12 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 37UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108317,7 +105753,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 17: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108328,7 +105764,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 28UL)); } break; - case 18: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108339,7 +105775,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 24UL)); } break; - case 19: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108350,7 +105786,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); } break; - case 20: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108359,7 +105795,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; - case 21: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108368,7 +105804,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; - case 22: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108377,7 +105813,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); } break; - case 23: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108387,7 +105823,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 49UL)); } break; - case 24: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108396,7 +105832,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 51UL)); } break; - case 25: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108405,7 +105841,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); } break; - case 26: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108414,7 +105850,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 34UL)); } break; - case 27: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108423,7 +105859,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 35UL)); } break; - case 28: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108432,7 +105868,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 36UL)); } break; - case 29: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108441,7 +105877,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 39UL)); } break; - case 30: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108450,7 +105886,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 40UL)); } break; - case 31: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108459,7 +105895,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; - case 32: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108468,7 +105904,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 33: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108477,7 +105913,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 43UL)); } break; - case 34: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108486,36 +105922,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 44UL)); } break; - case 35: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - } - break; - case 36: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - } - break; - case 37: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - } - break; - case 38: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108525,7 +105932,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 39: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108536,7 +105943,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); } break; - case 40: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108547,7 +105954,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 41: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108558,7 +105965,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; - case 42: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108567,7 +105974,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 39UL)); } break; - case 43: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108581,7 +105988,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); } break; - case 44: + case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108590,7 +105997,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 45: + case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108599,7 +106006,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; - case 46: + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108608,7 +106015,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); } break; - case 47: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108617,7 +106024,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; - case 48: + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -108731,209 +106138,184 @@ class Test_TC_DRLK_1_1Suite : public TestCommand } case 14: { LogStep(14, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4a: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 16: { - LogStep(16, "Step 4b: TH reads Feature dependent(DRLK.S.F05) attributes in AttributeList"); + LogStep(15, "Step 4b: TH reads Feature dependent(DRLK.S.F05) attributes in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 4c: TH reads Feature dependent(DRLK.S.F08) attributes in AttributeList"); + case 16: { + LogStep(16, "Step 4c: TH reads Feature dependent(DRLK.S.F08) attributes in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Step 4d: TH reads Feature dependent(DRLK.S.F00) attributes in AttributeList"); + case 17: { + LogStep(17, "Step 4d: TH reads Feature dependent(DRLK.S.F00) attributes in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Step 4e: TH reads Feature dependent(DRLK.S.F01) attributes in AttributeList"); + case 18: { + LogStep(18, "Step 4e: TH reads Feature dependent(DRLK.S.F01) attributes in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, "Step 4f: TH reads Feature dependent(DRLK.S.F04) attribute in AttributeList"); + case 19: { + LogStep(19, "Step 4f: TH reads Feature dependent(DRLK.S.F04) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, "Step 4g: TH reads Feature dependent(DRLK.S.F0a) attribute in AttributeList"); + case 20: { + LogStep(20, "Step 4g: TH reads Feature dependent(DRLK.S.F0a) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, "Step 4h: TH reads Feature dependent(DRLK.S.F0b) attribute in AttributeList"); + case 21: { + LogStep(21, "Step 4h: TH reads Feature dependent(DRLK.S.F0b) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "Step 4i: TH reads Feature dependent(DRLK.S.F00 or DRLK.S.F01) attributes in AttributeList"); + case 22: { + LogStep(22, "Step 4i: TH reads Feature dependent(DRLK.S.F00 or DRLK.S.F01) attributes in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F00 || DRLK.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: TH reads Feature dependent(DRLK.S.F07 or DRLK.S.F00) attribute in AttributeList"); + case 23: { + LogStep(23, "Step 4j: TH reads Feature dependent(DRLK.S.F07 or DRLK.S.F00) attribute in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.F07 || DRLK.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: TH reads optional attribute(Language) in AttributeList"); + case 24: { + LogStep(24, "Step 4k: TH reads optional attribute(Language) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "Step 4l: TH reads optional attribute(LEDSettings) in AttributeList"); + case 25: { + LogStep(25, "Step 4l: TH reads optional attribute(LEDSettings) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A0022"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "Step 4m: TH reads optional attribute(AutoRelockTime) in AttributeList"); + case 26: { + LogStep(26, "Step 4m: TH reads optional attribute(AutoRelockTime) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, "Step 4n: TH reads optional attribute(SoundVolume) in AttributeList"); + case 27: { + LogStep(27, "Step 4n: TH reads optional attribute(SoundVolume) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 29: { - LogStep(29, "Step 4o: TH reads optional attribute(DefaultConfigurationRegister) in AttributeList"); + case 28: { + LogStep(28, "Step 4o: TH reads optional attribute(DefaultConfigurationRegister) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A0027"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, "Step 4p: TH reads optional attribute(EnableLocalProgramming) in AttributeList"); + case 29: { + LogStep(29, "Step 4p: TH reads optional attribute(EnableLocalProgramming) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A0028"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 31: { - LogStep(31, "Step 4q: TH reads optional attribute(EnableOneTouchLocking) in AttributeList"); + case 30: { + LogStep(30, "Step 4q: TH reads optional attribute(EnableOneTouchLocking) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 32: { - LogStep(32, "Step 4r: TH reads optional attribute(EnableInsideStatusLED) in AttributeList"); + case 31: { + LogStep(31, "Step 4r: TH reads optional attribute(EnableInsideStatusLED) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A002a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 33: { - LogStep(33, "Step 4s: TH reads optional attribute(EnablePrivacyModeButton) in AttributeList"); + case 32: { + LogStep(32, "Step 4s: TH reads optional attribute(EnablePrivacyModeButton) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A002b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 34: { - LogStep(34, "Step 4t: TH reads optional attribute(LocalProgrammingFeatures) in AttributeList"); + case 33: { + LogStep(33, "Step 4t: TH reads optional attribute(LocalProgrammingFeatures) in AttributeList"); VerifyOrDo(!ShouldSkip("DRLK.S.A002c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 35: { - LogStep(35, "Step 5a: TH reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 36: { - LogStep(36, "Step 5b: TH reads optional event(Door position sensor) in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DRLK.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 37: { - LogStep(37, "Step 5c: TH reads optional event(User commands and database) in EventList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && DRLK.S.F08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 38: { - LogStep(38, "Step 6a: TH reads AcceptedCommandList from DUT"); + case 34: { + LogStep(34, "Step 6a: TH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 39: { - LogStep(39, "Step 6b: TH reads Feature dependent commands(DRLK.S.F04) in AcceptedCommandList"); + case 35: { + LogStep(35, "Step 6b: TH reads Feature dependent commands(DRLK.S.F04) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 40: { - LogStep(40, "Step 6c: TH reads Feature dependent commands(DRLK.S.F0a) in AcceptedCommandList"); + case 36: { + LogStep(36, "Step 6c: TH reads Feature dependent commands(DRLK.S.F0a) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 41: { - LogStep(41, "Step 6d: TH reads Feature dependent commands(DRLK.S.F0b) in AcceptedCommandList"); + case 37: { + LogStep(37, "Step 6d: TH reads Feature dependent commands(DRLK.S.F0b) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 42: { - LogStep(42, "Step 6e: TH reads Feature dependent commands(DRLK.S.F0c) in AcceptedCommandList"); + case 38: { + LogStep(38, "Step 6e: TH reads Feature dependent commands(DRLK.S.F0c) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 43: { - LogStep(43, "Step 6f: TH reads Feature dependent commands(DRLK.S.F08) in AcceptedCommandList"); + case 39: { + LogStep(39, "Step 6f: TH reads Feature dependent commands(DRLK.S.F08) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 44: { - LogStep(44, "Step 6g: TH reads optional commands(DRLK.S.C03.Rsp) in AcceptedCommandList"); + case 40: { + LogStep(40, "Step 6g: TH reads optional commands(DRLK.S.C03.Rsp) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 45: { - LogStep(45, "Step 7a: TH reads Feature dependent command(DRLK.S.F04) in GeneratedCommandList"); + case 41: { + LogStep(41, "Step 7a: TH reads Feature dependent command(DRLK.S.F04) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 46: { - LogStep(46, "Step 7b: TH reads Feature dependent command(DRLK.S.F0a) in GeneratedCommandList"); + case 42: { + LogStep(42, "Step 7b: TH reads Feature dependent command(DRLK.S.F0a) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 47: { - LogStep(47, "Step 7c: TH reads Feature dependent command(DRLK.S.F0b) in GeneratedCommandList"); + case 43: { + LogStep(43, "Step 7c: TH reads Feature dependent command(DRLK.S.F0b) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 48: { - LogStep(48, "Step 7d: TH reads Feature dependent command(DRLK.S.F08) in GeneratedCommandList"); + case 44: { + LogStep(44, "Step 7d: TH reads Feature dependent command(DRLK.S.F08) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); @@ -112749,7 +110131,7 @@ class TestGroupsClusterSuite : public TestCommand class Test_TC_G_1_1Suite : public TestCommand { public: - Test_TC_G_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_G_1_1", 9, credsIssuerConfig) + Test_TC_G_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_G_1_1", 7, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -112822,39 +110204,12 @@ class Test_TC_G_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -112868,7 +110223,7 @@ class Test_TC_G_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 8: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -112921,29 +110276,16 @@ class Test_TC_G_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4: TH reads AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 6: { - LogStep(6, "Step 5: TH reads EventList from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 7: { - LogStep(7, "Step 6: TH reads AcceptedCommandList from DUT"); + LogStep(5, "Step 6: TH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 7: TH reads GeneratedCommandList from DUT"); + case 6: { + LogStep(6, "Step 7: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -113326,7 +110668,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand { public: Test_TC_ACFREMON_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_ACFREMON_1_1", 16, credsIssuerConfig) + TestCommand("Test_TC_ACFREMON_1_1", 17, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -113417,7 +110759,6 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -113429,12 +110770,9 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 8: @@ -113443,9 +110781,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 9: @@ -113454,7 +110790,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 10: @@ -113463,26 +110799,21 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - } + shouldContinue = true; break; case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); { auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + VerifyOrReturn(CheckNoMoreListItems("acceptedCommandList", iter_0, 0)); } VerifyOrReturn(CheckConstraintType("value", "list", "list")); } @@ -113493,16 +110824,12 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - } + shouldContinue = true; break; case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -113516,6 +110843,10 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -113570,62 +110901,99 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand } case 6: { LogStep(6, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4a: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4b: Read the feature dependent(ACFREMON.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4b: Read the feature dependent(ACFREMON.S.F00) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4c: Read the optional attribute InPlaceIndicator (ACFREMON.S.A0003) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4c: Read the optional attribute InPlaceIndicator (ACFREMON.S.A0003) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4d: Read the optional attribute LastChangedTime (ACFREMON.S.A0004) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4d: Read the optional attribute LastChangedTime (ACFREMON.S.A0004) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4e: Read the optional attribute ReplacementProductList (ACFREMON.S.F02) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4e: Read the optional attribute ReplacementProductList (ACFREMON.S.F02) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, - ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); + LogStep(11, + "Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 12: { - LogStep(12, "Step 5: TH reads EventList attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, - ActivatedCarbonFilterMonitoring::Attributes::EventList::Id, true, chip::NullOptional); + ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 6a: Read the global attribute: AcceptedCommandList"); + LogStep(13, "Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, - ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + LogStep( + 14, + "Step 6c: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " + "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 15: { - LogStep(15, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(15, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 16: { + LogStep( + 16, + "Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " + "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -113795,7 +111163,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand { public: Test_TC_HEPAFREMON_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_HEPAFREMON_1_1", 16, credsIssuerConfig) + TestCommand("Test_TC_HEPAFREMON_1_1", 17, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -113886,7 +111254,6 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -113898,12 +111265,9 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 8: @@ -113912,9 +111276,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 9: @@ -113923,7 +111285,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 10: @@ -113932,37 +111294,24 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); - } + shouldContinue = true; break; case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } + shouldContinue = true; break; case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -113985,6 +111334,10 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -114038,51 +111391,69 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand HepaFilterMonitoring::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4a: Read the global attribute: AttributeList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4b: Read the feature dependent(HEPAFREMON.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("HEPAFREMON.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4b: Read the feature dependent(HEPAFREMON.S.F00) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("HEPAFREMON.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4c: Read the optional attribute InPlaceIndicator (HEPAFREMON.S.A0003) in AttributeList"); + VerifyOrDo(!ShouldSkip("HEPAFREMON.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4c: Read the optional attribute InPlaceIndicator (HEPAFREMON.S.A0003) in AttributeList"); - VerifyOrDo(!ShouldSkip("HEPAFREMON.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4d: Read the optional attribute LastChangedTime (HEPAFREMON.S.A0004) in AttributeList"); + VerifyOrDo(!ShouldSkip("HEPAFREMON.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4d: Read the optional attribute LastChangedTime (HEPAFREMON.S.A0004) in AttributeList"); - VerifyOrDo(!ShouldSkip("HEPAFREMON.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4e: Read the optional attribute ReplacementProductList (HEPAFREMON.S.F02) in AttributeList"); + VerifyOrDo(!ShouldSkip("HEPAFREMON.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4e: Read the optional attribute ReplacementProductList (HEPAFREMON.S.F02) in AttributeList"); - VerifyOrDo(!ShouldSkip("HEPAFREMON.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, - HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); + LogStep(11, + "Step 4f: TH reads from the DUT the AttributeList attribute. The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.TThe list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 12: { - LogStep(12, "Step 5: TH reads EventList attribute from DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, - HepaFilterMonitoring::Attributes::EventList::Id, true, chip::NullOptional); + HepaFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 6a: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, - HepaFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + LogStep(13, + "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 14: { LogStep(14, "Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList"); @@ -114091,10 +111462,25 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand HepaFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(15, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 16: { + LogStep(16, + "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -117852,6 +115238,61 @@ class Test_TC_DA_1_6Suite : public TestCommand } }; +class Test_TC_DA_1_8Suite : public TestCommand +{ +public: + Test_TC_DA_1_8Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DA_1_8", 0, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_DA_1_8Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + {} + return CHIP_NO_ERROR; + } +}; + class Test_TC_BINFO_3_1Suite : public TestCommand { public: @@ -137997,7 +135438,7 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand { public: Test_TC_RVCCLEANM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_RVCCLEANM_1_1", 12, credsIssuerConfig) + TestCommand("Test_TC_RVCCLEANM_1_1", 13, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -138071,7 +135512,6 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -138083,13 +135523,7 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 6: @@ -138098,7 +135532,7 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 7: @@ -138107,31 +135541,14 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); } break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); - } + shouldContinue = true; break; case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -138145,6 +135562,10 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -138159,6 +135580,10 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -138187,69 +135612,106 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand true, chip::NullOptional); } case 2: { - LogStep(2, "TH reads the FeatureMap attribute from the DUT"); + LogStep(2, "Step 3: TH reads the FeatureMap attribute from the DUT"); VerifyOrDo(!ShouldSkip(" !RVCCLEANM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Given RVCCLEANM.S.F00(DEPONOFF) ensure featuremap has the correct bit set"); + LogStep(3, "Step 3: Given RVCCLEANM.S.F00(DEPONOFF) ensure featuremap has the correct bit set"); VerifyOrDo(!ShouldSkip("RVCCLEANM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4a: TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("RVCCLEANM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("RVCCLEANM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, + "Step 4c: Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and optional attribute(OnMode) is in " + "AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("RVCCLEANM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { LogStep(7, - "Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and optional attribute(OnMode) is in AttributeList " - "from the DUT"); - VerifyOrDo(!ShouldSkip("RVCCLEANM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + "Step 4c: Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and optional attribute(OnMode) is not in " + "AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip(" !RVCCLEANM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, - "Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and optional attribute(OnMode) is not in AttributeList " - "from the DUT"); - VerifyOrDo(!ShouldSkip(" !RVCCLEANM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, - true, chip::NullOptional); + LogStep( + 8, + "Step 4d: TH reads the AttributeList attribute from the DUT. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in " + "the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and " + "(0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 9: { - LogStep(9, "Read the global attribute: EventList from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && RVCCLEANM.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 10: { - LogStep(10, "Read the global attribute AcceptedCommandList. Check if it contains id 0x0 (ChangeToMode)"); + LogStep(9, "Step 6a: Read the global attribute AcceptedCommandList. Check if it contains id 0x0 (ChangeToMode)"); VerifyOrDo(!ShouldSkip("RVCCLEANM.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep(10, + "Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 11: { - LogStep(11, "Read the global attribute: GeneratedCommandList. Check if it contains id 0x1 (ChangeToModeResponse)"); + LogStep(11, + "Step 7a: Read the global attribute: GeneratedCommandList. Check if it contains id 0x1 (ChangeToModeResponse)"); VerifyOrDo(!ShouldSkip("RVCCLEANM.S.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 12: { + LogStep(12, + "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -138427,7 +135889,7 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand { public: Test_TC_RVCRUNM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_RVCRUNM_1_1", 12, credsIssuerConfig) + TestCommand("Test_TC_RVCRUNM_1_1", 13, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -138501,7 +135963,6 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -138513,13 +135974,7 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 6: @@ -138528,7 +135983,7 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 7: @@ -138537,31 +135992,14 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); } break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); - } + shouldContinue = true; break; case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - { - auto iter_0 = value.begin(); - VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); - } - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -138575,6 +136013,10 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { @@ -138589,6 +136031,10 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -138605,81 +136051,117 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand switch (testIndex) { case 0: { - LogStep(0, "Wait for the commissioned device to be retrieved"); + LogStep(0, "Step 1: Wait for the commissioned device to be retrieved"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; return WaitForCommissionee(kIdentityAlpha, value); } case 1: { - LogStep(1, "TH reads the ClusterRevision attribute from the DUT"); + LogStep(1, "Step 2: TH reads the ClusterRevision attribute from the DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::ClusterRevision::Id, true, chip::NullOptional); } case 2: { - LogStep(2, "TH reads the FeatureMap attribute from the DUT"); + LogStep(2, "Step 3a: TH reads the FeatureMap attribute from the DUT"); VerifyOrDo(!ShouldSkip(" !RVCRUNM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Given RVCRUNM.S.F00(DEPONOFF) ensure featuremap has the correct bit set"); + LogStep(3, "Step 3b: Given RVCRUNM.S.F00(DEPONOFF) ensure featuremap has the correct bit set"); VerifyOrDo(!ShouldSkip("RVCRUNM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "TH reads the AttributeList attribute from the DUT"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("RVCRUNM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("RVCRUNM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, + "Step 4c: Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and optional attribute(OnMode) is in " + "AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("RVCRUNM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { LogStep(7, - "Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and optional attribute(OnMode) is in AttributeList from " - "the DUT"); - VerifyOrDo(!ShouldSkip("RVCRUNM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + "Step 4d: Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and optional attribute(OnMode) is not in " + "AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip(" !RVCRUNM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { LogStep(8, - "Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and optional attribute(OnMode) is not in AttributeList " - "from the DUT"); - VerifyOrDo(!ShouldSkip(" !RVCRUNM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, - chip::NullOptional); + "Step 4e: Check for mandatory attributes in AttributeList. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); } case 9: { - LogStep(9, "Read the global attribute: EventList from the DUT"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && RVCRUNM.S.Afffa"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 10: { - LogStep(10, "Read the global attribute AcceptedCommandList. Check if it contains id 0x0 (ChangeToMode)"); + LogStep(9, "Step 6a: Read the global attribute AcceptedCommandList. Check if it contains id 0x0 (ChangeToMode)"); VerifyOrDo(!ShouldSkip("RVCRUNM.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep(10, + "Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } case 11: { - LogStep(11, "Read the global attribute: GeneratedCommandList. Check if it contains id 0x1 (ChangeToModeResponse)"); + LogStep(11, + "Step 7a: Read the global attribute: GeneratedCommandList. Check if it contains id 0x1 (ChangeToModeResponse)"); VerifyOrDo(!ShouldSkip("RVCRUNM.S.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 12: { + LogStep(12, + "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " + "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -140215,7 +137697,7 @@ class Test_TC_BIND_2_3Suite : public TestCommand class Test_TC_S_1_1Suite : public TestCommand { public: - Test_TC_S_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_1_1", 17, credsIssuerConfig) + Test_TC_S_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_1_1", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -140295,7 +137777,6 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -140312,7 +137793,6 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); @@ -140323,55 +137803,6 @@ class Test_TC_S_1_1Suite : public TestCommand } break; case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); - } - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - { - chip::app::DataModel::DecodableList value; - VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "list", "list")); - } - break; - case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -140389,7 +137820,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 10: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -140404,7 +137835,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 11: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -140422,7 +137853,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 12: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -140437,7 +137868,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 13: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -140452,7 +137883,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 14: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -140461,7 +137892,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 40UL)); } break; - case 15: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -140470,7 +137901,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; - case 16: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -140519,80 +137950,62 @@ class Test_TC_S_1_1Suite : public TestCommand chip::NullOptional); } case 4: { - LogStep(4, "Step 4a: Read AttributeList (global attribute 65531)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && S.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is true"); + VerifyOrDo(!ShouldSkip("S.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4a: Read AttributeList (global attribute 65531)"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && S.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is false"); + VerifyOrDo(!ShouldSkip(" !S.S.A0005 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4b: Read AttributeList (global attribute 65531)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && (!S.S.A0005)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 7: { - LogStep(7, "Step 4b: Read AttributeList (global attribute 65531)"); - VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && (!S.S.A0005)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AttributeList::Id, true, - chip::NullOptional); - } - case 8: { - LogStep(8, "Step 5: Read EventList (global attribute 65530)"); - VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::EventList::Id, true, - chip::NullOptional); - } - case 9: { - LogStep(9, "Step 6a: Read AcceptedCommandList (global attribute 65529)"); + LogStep(6, "Step 6a: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("S.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6b: Read AcceptedCommandList (global attribute 65529)"); + case 7: { + LogStep(7, "Step 6b: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("(!S.S.C40.Rsp)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 6c: Read AcceptedCommandList (global attribute 65529)"); + case 8: { + LogStep(8, "Step 6c: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("S.C.C40.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 6d: Read AcceptedCommandList (global attribute 65529)"); + case 9: { + LogStep(9, "Step 6d: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("(!S.C.C40.Tx)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 7a: Read GeneratedCommandList (global attribute 65528)"); + case 10: { + LogStep(10, "Step 7a: Read GeneratedCommandList (global attribute 65528)"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, + case 11: { + LogStep(11, "Step 7b: Read optional command(EnhancedAddSceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, + case 12: { + LogStep(12, "Step 7c: Read optional command(EnhancedViewSceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Step 7d: Read optional command(CopySceneResponse) in GeneratedCommandList (global attribute 65528)"); + case 13: { + LogStep(13, "Step 7d: Read optional command(CopySceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); @@ -141660,6 +139073,7 @@ void registerCommandsTests(Commands & commands, CredentialIssuerCommands * creds make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), + make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), make_unique(credsIssuerConfig), 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 e9f65d53c9e541..f1796b498714ad 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -2513,105 +2513,63 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads ClusterRevision attribute from DUT\n"); - if (ShouldSkip("ACL.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsClusterRevisionAttributeFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads FeatureMap attribute from DUT\n"); - if (ShouldSkip("ACL.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ThReadsFeatureMapAttributeFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList attribute from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && ACL.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListAttributeFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList attribute from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && ACL.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: TH reads optional attribute (Extension) in AttributeList\n"); + if (ShouldSkip("ACL.S.A0001")) { NextTest(); return; } - err = TestStep4aThReadsAttributeListAttributeFromDut_4(); + err = TestStep4bThReadsOptionalAttributeExtensionInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute (Extension) in AttributeList\n"); - if (ShouldSkip("ACL.S.A0001 && ACL.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4bThReadsOptionalAttributeExtensionInAttributeList_5(); - break; - case 6: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && ACL.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5a: TH reads EventList attribute from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && ACL.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 8: - ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " - "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && ACL.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 9: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1. The list MAY contain values in " + " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1. The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && ACL.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 10: + case 7: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && ACL.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); break; } @@ -2648,15 +2606,6 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -2670,7 +2619,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -2740,36 +2689,6 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterAccessControl alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList attribute from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aThReadsAttributeListAttributeFromDut_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterAccessControl alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList attribute from DUT Error: %@", err); @@ -2792,7 +2711,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeExtensionInAttributeList_5() + CHIP_ERROR TestStep4bThReadsOptionalAttributeExtensionInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -2814,18 +2733,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR - TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -2836,7 +2744,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -2847,7 +2755,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -6439,36 +6347,60 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { err = TestStep3eGivenAIRQUALSF03ExtremelyPoorEnsureFeaturemapHasTheCorrectBitSet_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ReadTheGlobalAttributeAttributeList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: Read the global attribute: AttributeList\n"); + err = TestStep4aReadTheGlobalAttributeAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 4b: TH reads from the DUT the AttributeList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4ReadTheGlobalAttributeAttributeList_8(); + err = TestStep4bThReadsFromTheDutTheAttributeListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: TH reads EventList attribute from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6:a Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_9(); + break; + case 10: + ChipLogProgress(chipTool, + " ***** Test Step 10 : Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT " + "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " + "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " + "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " + "SHALL NOT contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), " + "(0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_10(); + err = TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_11(); + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_11(); + break; + case 12: + ChipLogProgress(chipTool, + " ***** Test Step 12 : Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " + "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " + "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " + "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " + "SHALL NOT contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), " + "(0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; } @@ -6517,6 +6449,9 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -6530,7 +6465,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 12; + const uint16_t mTestCount = 13; chip::Optional mNodeId; chip::Optional mCluster; @@ -6669,7 +6604,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_7() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -6677,7 +6612,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6685,7 +6620,6 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -6696,33 +6630,18 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_8() + CHIP_ERROR + TestStep4bThReadsFromTheDutTheAttributeListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterAirQuality alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; + chip::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 TestStep6ReadTheGlobalAttributeAcceptedCommandList_10() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -6730,7 +6649,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6:a Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6741,7 +6660,18 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_11() + CHIP_ERROR + TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -6749,7 +6679,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6764,6 +6694,17 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_AIRQUAL_2_1 : public TestCommandBridge { @@ -6936,44 +6877,16 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ReadTheGlobalAttributeAttributeList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 5: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_5(); break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BOOL.S.E00")) { - NextTest(); - return; - } - NextTest(); - return; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !BOOL.S.E00 ")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -7003,15 +6916,6 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -7025,7 +6929,7 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 6; chip::Optional mNodeId; chip::Optional mCluster; @@ -7095,33 +6999,6 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterBooleanState alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterBooleanState alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); @@ -7141,7 +7018,7 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7165,7 +7042,7 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7483,46 +7360,52 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { err = TestStep4oThReadsOptionalAttributeUniqueIDInAttributeList_17(); break; case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 5a: TH reads optional event(StartUp) in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BRBINFO.S.E00")) { + ChipLogProgress(chipTool, + " ***** Test Step 18 : Step 4p: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4pThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); + break; case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 5b: TH reads optional attribute(ShutDown) in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BRBINFO.S.E01")) { - NextTest(); - return; - } - NextTest(); - return; + ChipLogProgress(chipTool, " ***** Test Step 19 : Step 6a: TH1 reads AcceptedCommandList from DUT\n"); + err = TestStep6aTh1ReadsAcceptedCommandListFromDut_19(); + break; case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : Step 5c: TH reads optional attribute(Leave) in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BRBINFO.S.E02")) { + ChipLogProgress(chipTool, + " ***** Test Step 20 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20(); + break; case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Step 7a: TH1 reads GeneratedCommandList from DUT\n"); + err = TestStep7aTh1ReadsGeneratedCommandListFromDut_21(); + break; + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 5d: Read EventList attribute from the DUT and Verify that the DUT response provides a " - "list of supported events.\n"); + " ***** Test Step 22 : Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5dReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_21(); - break; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : Step 6: TH1 reads AcceptedCommandList from DUT\n"); - err = TestStep6Th1ReadsAcceptedCommandListFromDut_22(); - break; - case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : Step 7: TH1 reads GeneratedCommandList from DUT\n"); - err = TestStep7Th1ReadsGeneratedCommandListFromDut_23(); + err = TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_22(); break; } @@ -7604,9 +7487,6 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 23: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -7620,7 +7500,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 24; + const uint16_t mTestCount = 23; chip::Optional mNodeId; chip::Optional mCluster; @@ -8021,7 +7901,8 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5dReadEventListAttributeFromTheDutAndVerifyThatTheDutResponseProvidesAListOfSupportedEvents_21() + CHIP_ERROR + TestStep4pThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -8031,7 +7912,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6Th1ReadsAcceptedCommandListFromDut_22() + CHIP_ERROR TestStep6aTh1ReadsAcceptedCommandListFromDut_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -8041,7 +7922,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: TH1 reads AcceptedCommandList from DUT Error: %@", err); + NSLog(@"Step 6a: TH1 reads AcceptedCommandList from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -8057,7 +7938,18 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7Th1ReadsGeneratedCommandListFromDut_23() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20() + { + + 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 TestStep7aTh1ReadsGeneratedCommandListFromDut_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -8067,7 +7959,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: TH1 reads GeneratedCommandList from DUT Error: %@", err); + NSLog(@"Step 7a: TH1 reads GeneratedCommandList from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -8082,6 +7974,17 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_22() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_ACT_1_1 : public TestCommandBridge { @@ -8136,43 +8039,23 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(SetupURL) in AttributeList\n"); + if (ShouldSkip("ACT.S.A0002")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); + err = TestStep4bReadTheOptionalAttributeSetupURLInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(SetupURL) in AttributeList\n"); - if (ShouldSkip("ACT.S.A0002")) { - NextTest(); - return; - } - err = TestStep4bReadTheOptionalAttributeSetupURLInAttributeList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: TH reads EventList attribute from DUT\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestStep5ThReadsEventListAttributeFromDut_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_7(); - break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_8(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_6(); break; } @@ -8206,12 +8089,6 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -8225,7 +8102,7 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -8305,7 +8182,6 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -8316,34 +8192,7 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bReadTheOptionalAttributeSetupURLInAttributeList_5() + CHIP_ERROR TestStep4bReadTheOptionalAttributeSetupURLInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -8364,17 +8213,7 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ThReadsEventListAttributeFromDut_6() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_7() + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -8394,7 +8233,7 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_8() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -8463,88 +8302,55 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("BIND.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads the FeatureMap from DUT\n"); - if (ShouldSkip("BIND.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ThReadsTheFeatureMapFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BIND.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && BIND.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4aThReadsAttributeListFromDut_4(); - break; - case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 4 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && BIND.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); - break; - case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && BIND.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); break; - case 7: + case 5: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 5 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && BIND.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 6 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && BIND.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; } @@ -8578,12 +8384,6 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -8597,7 +8397,7 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -8667,33 +8467,6 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterBinding alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterBinding alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -8714,7 +8487,7 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -8725,7 +8498,7 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -8736,18 +8509,7 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() - { - - 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 - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -8863,618 +8625,598 @@ class Test_TC_CC_1_1 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_9(); - break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: Read the optional attribute(CurrentHue) in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: Read the optional attribute(CurrentHue) in AttributeList\n"); if (ShouldSkip("CC.S.A0000")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_10(); + err = TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_9(); break; - case 11: + case 10: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList\n"); + chipTool, " ***** Test Step 10 : Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList\n"); if (ShouldSkip("CC.S.A0001")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_11(); + err = TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_10(); break; - case 12: + case 11: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 4d: Read the optional attribute(RemainingTime) in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 4d: Read the optional attribute(RemainingTime) in AttributeList\n"); if (ShouldSkip("CC.S.A0002")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_12(); + err = TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_11(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4e: Read the optional attribute(CurrentX) in AttributeList\n"); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4e: Read the optional attribute(CurrentX) in AttributeList\n"); if (ShouldSkip("CC.S.A0003")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_13(); + err = TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_12(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4f: Read the optional attribute(CurrentY) in AttributeList\n"); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4f: Read the optional attribute(CurrentY) in AttributeList\n"); if (ShouldSkip("CC.S.A0004")) { NextTest(); return; } - err = TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_14(); + err = TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_13(); break; - case 15: + case 14: ChipLogProgress( - chipTool, " ***** Test Step 15 : Step 4g: Read the optional attribute(DriftCompensation) in AttributeList\n"); + chipTool, " ***** Test Step 14 : Step 4g: Read the optional attribute(DriftCompensation) in AttributeList\n"); if (ShouldSkip("CC.S.A0005")) { NextTest(); return; } - err = TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_15(); + err = TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_14(); break; - case 16: + case 15: ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 4h: Read the optional attribute(CompensationText) in AttributeList\n"); + chipTool, " ***** Test Step 15 : Step 4h: Read the optional attribute(CompensationText) in AttributeList\n"); if (ShouldSkip("CC.S.A0006")) { NextTest(); return; } - err = TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_16(); + err = TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_15(); break; - case 17: + case 16: ChipLogProgress( - chipTool, " ***** Test Step 17 : Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList\n"); + chipTool, " ***** Test Step 16 : Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A0007")) { NextTest(); return; } - err = TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_17(); + err = TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress( - chipTool, " ***** Test Step 18 : Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList\n"); + chipTool, " ***** Test Step 17 : Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList\n"); if (ShouldSkip("CC.S.A0010")) { NextTest(); return; } - err = TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_18(); + err = TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_17(); break; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4k: Read the optional attribute(Primary1X) in AttributeList\n"); + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4k: Read the optional attribute(Primary1X) in AttributeList\n"); if (ShouldSkip("CC.S.A0011")) { NextTest(); return; } - err = TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_19(); + err = TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_18(); break; - case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4l: Read the optional attribute(Primary1Y) in AttributeList\n"); + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4l: Read the optional attribute(Primary1Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0012")) { NextTest(); return; } - err = TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_20(); + err = TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_19(); break; - case 21: + case 20: ChipLogProgress( - chipTool, " ***** Test Step 21 : Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 20 : Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0013")) { NextTest(); return; } - err = TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_21(); + err = TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_20(); break; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4n: Read the optional attribute(Primary2X) in AttributeList\n"); + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4n: Read the optional attribute(Primary2X) in AttributeList\n"); if (ShouldSkip("CC.S.A0015")) { NextTest(); return; } - err = TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_22(); + err = TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_21(); break; - case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4o: Read the optional attribute(Primary2Y) in AttributeList\n"); + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4o: Read the optional attribute(Primary2Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0016")) { NextTest(); return; } - err = TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_23(); + err = TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress( - chipTool, " ***** Test Step 24 : Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 23 : Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0017")) { NextTest(); return; } - err = TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_24(); + err = TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_23(); break; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4q: Read the optional attribute(Primary3X) in AttributeList\n"); + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4q: Read the optional attribute(Primary3X) in AttributeList\n"); if (ShouldSkip("CC.S.A0019")) { NextTest(); return; } - err = TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_25(); + err = TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_24(); break; - case 26: - ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4r: Read the optional attribute(Primary3Y) in AttributeList\n"); + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4r: Read the optional attribute(Primary3Y) in AttributeList\n"); if (ShouldSkip("CC.S.A001a")) { NextTest(); return; } - err = TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_26(); + err = TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_25(); break; - case 27: + case 26: ChipLogProgress( - chipTool, " ***** Test Step 27 : Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 26 : Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A001b")) { NextTest(); return; } - err = TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_27(); + err = TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_26(); break; - case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4t: Read the optional attribute(Primary4X) in AttributeList\n"); + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4t: Read the optional attribute(Primary4X) in AttributeList\n"); if (ShouldSkip("CC.S.A0020")) { NextTest(); return; } - err = TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_28(); + err = TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_27(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4u: Read the optional attribute(Primary4Y) in AttributeList\n"); + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4u: Read the optional attribute(Primary4Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0021")) { NextTest(); return; } - err = TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_29(); + err = TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_28(); break; - case 30: + case 29: ChipLogProgress( - chipTool, " ***** Test Step 30 : Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 29 : Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0022")) { NextTest(); return; } - err = TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_30(); + err = TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_29(); break; - case 31: - ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4w: Read the optional attribute(Primary5X) in AttributeList\n"); + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4w: Read the optional attribute(Primary5X) in AttributeList\n"); if (ShouldSkip("CC.S.A0024")) { NextTest(); return; } - err = TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_31(); + err = TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_30(); break; - case 32: - ChipLogProgress(chipTool, " ***** Test Step 32 : Step 4x: Read the optional attribute(Primary5Y) in AttributeList\n"); + case 31: + ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4x: Read the optional attribute(Primary5Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0025")) { NextTest(); return; } - err = TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_32(); + err = TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_31(); break; - case 33: + case 32: ChipLogProgress( - chipTool, " ***** Test Step 33 : Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 32 : Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0026")) { NextTest(); return; } - err = TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_33(); + err = TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_32(); break; - case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4z: Read the optional attribute(Primary6X) in AttributeList\n"); + case 33: + ChipLogProgress(chipTool, " ***** Test Step 33 : Step 4z: Read the optional attribute(Primary6X) in AttributeList\n"); if (ShouldSkip("CC.S.A0028")) { NextTest(); return; } - err = TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_34(); + err = TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_33(); break; - case 35: - ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4a1: Read the optional attribute(Primary6Y) in AttributeList\n"); + case 34: + ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4a1: Read the optional attribute(Primary6Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0029")) { NextTest(); return; } - err = TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_35(); + err = TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_34(); break; - case 36: + case 35: ChipLogProgress( - chipTool, " ***** Test Step 36 : Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 35 : Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A002a")) { NextTest(); return; } - err = TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_36(); + err = TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_35(); break; - case 37: + case 36: ChipLogProgress( - chipTool, " ***** Test Step 37 : Step 4a3: Read the optional attribute(WhitePointX) in AttributeList\n"); + chipTool, " ***** Test Step 36 : Step 4a3: Read the optional attribute(WhitePointX) in AttributeList\n"); if (ShouldSkip("CC.S.A0030")) { NextTest(); return; } - err = TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_37(); + err = TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_36(); break; - case 38: + case 37: ChipLogProgress( - chipTool, " ***** Test Step 38 : Step 4a4: Read the optional attribute(WhitePointY) in AttributeList\n"); + chipTool, " ***** Test Step 37 : Step 4a4: Read the optional attribute(WhitePointY) in AttributeList\n"); if (ShouldSkip("CC.S.A0031")) { NextTest(); return; } - err = TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_38(); + err = TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_37(); break; - case 39: + case 38: ChipLogProgress( - chipTool, " ***** Test Step 39 : Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList\n"); + chipTool, " ***** Test Step 38 : Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList\n"); if (ShouldSkip("CC.S.A0032")) { NextTest(); return; } - err = TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_39(); + err = TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_38(); break; - case 40: + case 39: ChipLogProgress( - chipTool, " ***** Test Step 40 : Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList\n"); + chipTool, " ***** Test Step 39 : Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList\n"); if (ShouldSkip("CC.S.A0033")) { NextTest(); return; } - err = TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_40(); + err = TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_39(); break; - case 41: + case 40: ChipLogProgress( - chipTool, " ***** Test Step 41 : Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList\n"); + chipTool, " ***** Test Step 40 : Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0034")) { NextTest(); return; } - err = TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_41(); + err = TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_40(); break; - case 42: + case 41: ChipLogProgress( - chipTool, " ***** Test Step 42 : Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList\n"); + chipTool, " ***** Test Step 41 : Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList\n"); if (ShouldSkip("CC.S.A0036")) { NextTest(); return; } - err = TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_42(); + err = TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_41(); break; - case 43: + case 42: ChipLogProgress( - chipTool, " ***** Test Step 43 : Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList\n"); + chipTool, " ***** Test Step 42 : Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList\n"); if (ShouldSkip("CC.S.A0037")) { NextTest(); return; } - err = TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_43(); + err = TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_42(); break; - case 44: + case 43: ChipLogProgress( - chipTool, " ***** Test Step 44 : Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList\n"); + chipTool, " ***** Test Step 43 : Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0038")) { NextTest(); return; } - err = TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_44(); + err = TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_43(); break; - case 45: + case 44: ChipLogProgress( - chipTool, " ***** Test Step 45 : Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList\n"); + chipTool, " ***** Test Step 44 : Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList\n"); if (ShouldSkip("CC.S.A003a")) { NextTest(); return; } - err = TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_45(); + err = TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_44(); break; - case 46: + case 45: ChipLogProgress( - chipTool, " ***** Test Step 46 : Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList\n"); + chipTool, " ***** Test Step 45 : Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList\n"); if (ShouldSkip("CC.S.A003b")) { NextTest(); return; } - err = TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_46(); + err = TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_45(); break; - case 47: + case 46: ChipLogProgress( - chipTool, " ***** Test Step 47 : Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList\n"); + chipTool, " ***** Test Step 46 : Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList\n"); if (ShouldSkip("CC.S.A003c")) { NextTest(); return; } - err = TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_47(); + err = TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_46(); break; - case 48: + case 47: ChipLogProgress( - chipTool, " ***** Test Step 48 : Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList\n"); + chipTool, " ***** Test Step 47 : Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList\n"); if (ShouldSkip("CC.S.A4000")) { NextTest(); return; } - err = TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_48(); + err = TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_47(); break; - case 49: + case 48: ChipLogProgress( - chipTool, " ***** Test Step 49 : Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList\n"); + chipTool, " ***** Test Step 48 : Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList\n"); if (ShouldSkip("CC.S.A4002")) { NextTest(); return; } - err = TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_49(); + err = TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_48(); break; - case 50: + case 49: ChipLogProgress( - chipTool, " ***** Test Step 50 : Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList\n"); + chipTool, " ***** Test Step 49 : Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList\n"); if (ShouldSkip("CC.S.A4003")) { NextTest(); return; } - err = TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_50(); + err = TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_49(); break; - case 51: + case 50: ChipLogProgress( - chipTool, " ***** Test Step 51 : Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList\n"); + chipTool, " ***** Test Step 50 : Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList\n"); if (ShouldSkip("CC.S.A4004")) { NextTest(); return; } - err = TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_51(); + err = TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_50(); break; - case 52: + case 51: ChipLogProgress(chipTool, - " ***** Test Step 52 : Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList\n"); + " ***** Test Step 51 : Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList\n"); if (ShouldSkip("CC.S.A4005")) { NextTest(); return; } - err = TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_52(); + err = TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_51(); break; - case 53: + case 52: ChipLogProgress(chipTool, - " ***** Test Step 53 : Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList\n"); + " ***** Test Step 52 : Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList\n"); if (ShouldSkip("CC.S.A4006")) { NextTest(); return; } - err = TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_53(); + err = TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_52(); break; - case 54: + case 53: ChipLogProgress(chipTool, - " ***** Test Step 54 : Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList\n"); + " ***** Test Step 53 : Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A400b")) { NextTest(); return; } - err = TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_54(); + err = TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_53(); break; - case 55: + case 54: ChipLogProgress(chipTool, - " ***** Test Step 55 : Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList\n"); + " ***** Test Step 54 : Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A400c")) { NextTest(); return; } - err = TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_55(); + err = TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_54(); break; - case 56: + case 55: ChipLogProgress(chipTool, - " ***** Test Step 56 : Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList\n"); + " ***** Test Step 55 : Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A400d")) { NextTest(); return; } - err = TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_56(); + err = TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_55(); break; - case 57: + case 56: ChipLogProgress(chipTool, - " ***** Test Step 57 : Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList\n"); + " ***** Test Step 56 : Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A4010")) { NextTest(); return; } - err = TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_57(); + err = TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_56(); break; - case 58: - ChipLogProgress(chipTool, " ***** Test Step 58 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 59: + case 57: ChipLogProgress( - chipTool, " ***** Test Step 59 : Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 57 : Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_59(); + err = TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_57(); break; - case 60: - ChipLogProgress(chipTool, " ***** Test Step 60 : Step 6b: Read the optional command(MoveHue) in AcceptedCommandList\n"); + case 58: + ChipLogProgress(chipTool, " ***** Test Step 58 : Step 6b: Read the optional command(MoveHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C01.Rsp")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_60(); + err = TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_58(); break; - case 61: - ChipLogProgress(chipTool, " ***** Test Step 61 : Step 6c: Read the optional command(StepHue) in AcceptedCommandList\n"); + case 59: + ChipLogProgress(chipTool, " ***** Test Step 59 : Step 6c: Read the optional command(StepHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C02.Rsp")) { NextTest(); return; } - err = TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_61(); + err = TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_59(); break; - case 62: + case 60: ChipLogProgress( - chipTool, " ***** Test Step 62 : Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 60 : Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C03.Rsp")) { NextTest(); return; } - err = TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_62(); + err = TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_60(); break; - case 63: + case 61: ChipLogProgress( - chipTool, " ***** Test Step 63 : Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 61 : Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C04.Rsp")) { NextTest(); return; } - err = TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_63(); + err = TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_61(); break; - case 64: + case 62: ChipLogProgress( - chipTool, " ***** Test Step 64 : Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 62 : Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C05.Rsp")) { NextTest(); return; } - err = TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_64(); + err = TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_62(); break; - case 65: + case 63: ChipLogProgress(chipTool, - " ***** Test Step 65 : Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList\n"); + " ***** Test Step 63 : Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C06.Rsp")) { NextTest(); return; } - err = TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_65(); + err = TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_63(); break; - case 66: + case 64: ChipLogProgress( - chipTool, " ***** Test Step 66 : Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 64 : Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C07.Rsp")) { NextTest(); return; } - err = TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_66(); + err = TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_64(); break; - case 67: + case 65: ChipLogProgress( - chipTool, " ***** Test Step 67 : Step 6i: Read the optional command(MoveColor) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 65 : Step 6i: Read the optional command(MoveColor) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C08.Rsp")) { NextTest(); return; } - err = TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_67(); + err = TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_65(); break; - case 68: + case 66: ChipLogProgress( - chipTool, " ***** Test Step 68 : Step 6j: Read the optional command(StepColor) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 66 : Step 6j: Read the optional command(StepColor) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C09.Rsp")) { NextTest(); return; } - err = TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_68(); + err = TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_66(); break; - case 69: + case 67: ChipLogProgress(chipTool, - " ***** Test Step 69 : Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList\n"); + " ***** Test Step 67 : Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C0a.Rsp")) { NextTest(); return; } - err = TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_69(); + err = TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_67(); break; - case 70: + case 68: ChipLogProgress( - chipTool, " ***** Test Step 70 : Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 68 : Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C40.Rsp")) { NextTest(); return; } - err = TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_70(); + err = TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_68(); break; - case 71: + case 69: ChipLogProgress( - chipTool, " ***** Test Step 71 : Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 69 : Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C41.Rsp")) { NextTest(); return; } - err = TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_71(); + err = TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_69(); break; - case 72: + case 70: ChipLogProgress( - chipTool, " ***** Test Step 72 : Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 70 : Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C42.Rsp")) { NextTest(); return; } - err = TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_72(); + err = TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_70(); break; - case 73: + case 71: ChipLogProgress(chipTool, - " ***** Test Step 73 : Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in " + " ***** Test Step 71 : Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in " "AcceptedCommandList\n"); if (ShouldSkip("CC.S.C43.Rsp")) { NextTest(); return; } - err = TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_73(); + err = TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_71(); break; - case 74: + case 72: ChipLogProgress( - chipTool, " ***** Test Step 74 : Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 72 : Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C44.Rsp")) { NextTest(); return; } - err = TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_74(); + err = TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_72(); break; - case 75: + case 73: ChipLogProgress( - chipTool, " ***** Test Step 75 : Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 73 : Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C47.Rsp")) { NextTest(); return; } - err = TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_75(); + err = TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_73(); break; - case 76: + case 74: ChipLogProgress(chipTool, - " ***** Test Step 76 : Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList\n"); + " ***** Test Step 74 : Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C4b.Rsp")) { NextTest(); return; } - err = TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_76(); + err = TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_74(); break; - case 77: + case 75: ChipLogProgress(chipTool, - " ***** Test Step 77 : Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList\n"); + " ***** Test Step 75 : Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C4c.Rsp")) { NextTest(); return; } - err = TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_77(); + err = TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_75(); break; - case 78: - ChipLogProgress(chipTool, " ***** Test Step 78 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_78(); + case 76: + ChipLogProgress(chipTool, " ***** Test Step 76 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_76(); break; } @@ -9718,12 +9460,6 @@ class Test_TC_CC_1_1 : public TestCommandBridge { case 76: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 77: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 78: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -9737,7 +9473,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 79; + const uint16_t mTestCount = 77; chip::Optional mNodeId; chip::Optional mCluster; @@ -9888,36 +9624,6 @@ class Test_TC_CC_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 15UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 16385UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 16394UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_9() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -9940,7 +9646,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_10() + CHIP_ERROR TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9961,7 +9667,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_11() + CHIP_ERROR TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9982,7 +9688,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_12() + CHIP_ERROR TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10003,7 +9709,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_13() + CHIP_ERROR TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10024,7 +9730,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_14() + CHIP_ERROR TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10045,7 +9751,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_15() + CHIP_ERROR TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10066,7 +9772,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_16() + CHIP_ERROR TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10087,7 +9793,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_17() + CHIP_ERROR TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10108,7 +9814,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_18() + CHIP_ERROR TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10129,7 +9835,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_19() + CHIP_ERROR TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10150,7 +9856,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_20() + CHIP_ERROR TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10171,7 +9877,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_21() + CHIP_ERROR TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10192,7 +9898,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_22() + CHIP_ERROR TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10213,7 +9919,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_23() + CHIP_ERROR TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10234,7 +9940,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_24() + CHIP_ERROR TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10255,7 +9961,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_25() + CHIP_ERROR TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10276,7 +9982,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_26() + CHIP_ERROR TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10297,7 +10003,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_27() + CHIP_ERROR TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10318,7 +10024,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_28() + CHIP_ERROR TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10339,7 +10045,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_29() + CHIP_ERROR TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_28() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10360,7 +10066,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_30() + CHIP_ERROR TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10381,7 +10087,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_31() + CHIP_ERROR TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10402,7 +10108,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_32() + CHIP_ERROR TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_31() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10423,7 +10129,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_33() + CHIP_ERROR TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10444,7 +10150,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_34() + CHIP_ERROR TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_33() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10465,7 +10171,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_35() + CHIP_ERROR TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_34() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10486,7 +10192,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_36() + CHIP_ERROR TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_35() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10507,7 +10213,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_37() + CHIP_ERROR TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_36() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10528,7 +10234,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_38() + CHIP_ERROR TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_37() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10549,7 +10255,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_39() + CHIP_ERROR TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_38() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10570,7 +10276,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_40() + CHIP_ERROR TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_39() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10591,7 +10297,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_41() + CHIP_ERROR TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_40() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10612,7 +10318,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_42() + CHIP_ERROR TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_41() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10633,7 +10339,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_43() + CHIP_ERROR TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_42() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10654,7 +10360,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_44() + CHIP_ERROR TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_43() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10675,7 +10381,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_45() + CHIP_ERROR TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_44() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10696,7 +10402,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_46() + CHIP_ERROR TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_45() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10717,7 +10423,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_47() + CHIP_ERROR TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_46() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10738,7 +10444,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_48() + CHIP_ERROR TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_47() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10759,7 +10465,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_49() + CHIP_ERROR TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_48() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10780,7 +10486,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_50() + CHIP_ERROR TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_49() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10801,7 +10507,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_51() + CHIP_ERROR TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_50() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10822,7 +10528,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_52() + CHIP_ERROR TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_51() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10843,7 +10549,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_53() + CHIP_ERROR TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_52() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10864,7 +10570,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_54() + CHIP_ERROR TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_53() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10885,7 +10591,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_55() + CHIP_ERROR TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_54() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10906,7 +10612,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_56() + CHIP_ERROR TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_55() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10927,7 +10633,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_57() + CHIP_ERROR TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_56() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10948,7 +10654,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_59() + CHIP_ERROR TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_57() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10969,7 +10675,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_60() + CHIP_ERROR TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_58() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10990,7 +10696,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_61() + CHIP_ERROR TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_59() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11011,7 +10717,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_62() + CHIP_ERROR TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_60() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11032,7 +10738,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_63() + CHIP_ERROR TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_61() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11053,7 +10759,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_64() + CHIP_ERROR TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_62() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11074,7 +10780,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_65() + CHIP_ERROR TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_63() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11095,7 +10801,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_66() + CHIP_ERROR TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_64() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11116,7 +10822,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_67() + CHIP_ERROR TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_65() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11137,7 +10843,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_68() + CHIP_ERROR TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_66() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11158,7 +10864,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_69() + CHIP_ERROR TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_67() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11179,7 +10885,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_70() + CHIP_ERROR TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_68() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11200,7 +10906,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_71() + CHIP_ERROR TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_69() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11221,7 +10927,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_72() + CHIP_ERROR TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_70() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11242,7 +10948,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_73() + CHIP_ERROR TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_71() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11263,7 +10969,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_74() + CHIP_ERROR TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_72() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11284,7 +10990,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_75() + CHIP_ERROR TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_73() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11305,7 +11011,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_76() + CHIP_ERROR TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_74() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11326,7 +11032,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_77() + CHIP_ERROR TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_75() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11347,7 +11053,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_78() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_76() { MTRBaseDevice * device = GetDevice("alpha"); @@ -22221,21 +21927,21 @@ class Test_TC_CC_6_5 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, - " ***** Test Step 7 : TH writes to StartUpColorTemperatureMireds attribute with value " + " ***** Test Step 7 : Step 2a: TH writes to StartUpColorTemperatureMireds attribute with value " "StartUpColorTemperatureMireds\n"); if (ShouldSkip("PICS_SKIP_SAMPLE_APP && CC.S.A4010 && CC.S.F04")) { NextTest(); return; } - err = TestThWritesToStartUpColorTemperatureMiredsAttributeWithValueStartUpColorTemperatureMireds_7(); + err = TestStep2aThWritesToStartUpColorTemperatureMiredsAttributeWithValueStartUpColorTemperatureMireds_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 2a: TH reads StartUpColorTemperatureMireds attribute from DUT\n"); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 2b: TH reads StartUpColorTemperatureMireds attribute from DUT\n"); if (ShouldSkip("CC.S.A4010 && CC.S.F04")) { NextTest(); return; } - err = TestStep2aThReadsStartUpColorTemperatureMiredsAttributeFromDut_8(); + err = TestStep2bThReadsStartUpColorTemperatureMiredsAttributeFromDut_8(); break; case 9: ChipLogProgress(chipTool, @@ -22551,7 +22257,7 @@ class Test_TC_CC_6_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThWritesToStartUpColorTemperatureMiredsAttributeWithValueStartUpColorTemperatureMireds_7() + CHIP_ERROR TestStep2aThWritesToStartUpColorTemperatureMiredsAttributeWithValueStartUpColorTemperatureMireds_7() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -22562,7 +22268,7 @@ class Test_TC_CC_6_5 : public TestCommandBridge { } NSNumber * _Nullable StartUpColorTemperatureMiredsValue; - CHIP_ERROR TestStep2aThReadsStartUpColorTemperatureMiredsAttributeFromDut_8() + CHIP_ERROR TestStep2bThReadsStartUpColorTemperatureMiredsAttributeFromDut_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -22570,7 +22276,7 @@ class Test_TC_CC_6_5 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeStartUpColorTemperatureMiredsWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 2a: TH reads StartUpColorTemperatureMireds attribute from DUT Error: %@", err); + NSLog(@"Step 2b: TH reads StartUpColorTemperatureMireds attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -27695,132 +27401,152 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("CDOCONC.S.A0007 && CDOCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "CDOCONC.S.A0007 is not set\n"); if (ShouldSkip(" !CDOCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCdoconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCdoconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("CDOCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when CDOCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !CDOCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCdoconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCdoconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("CDOCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when CDOCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !CDOCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("CDOCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when CDOCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !CDOCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("CDOCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when CDOCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when CDOCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !CDOCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCdoconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCdoconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -27923,6 +27649,9 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -27936,7 +27665,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -28264,35 +27993,6 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterCarbonDioxideConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -28312,7 +28012,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28335,7 +28035,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCdoconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCdoconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28361,7 +28061,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28390,7 +28090,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCdoconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCdoconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28419,7 +28119,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28446,7 +28146,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf04PeaIsNotSet_22() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28472,7 +28172,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28499,7 +28199,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28525,7 +28225,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28548,7 +28248,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCdoconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCdoconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28572,7 +28272,18 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28582,7 +28293,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -28598,7 +28309,18 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28608,7 +28330,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -28623,6 +28345,17 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_CDOCONC_2_1 : public TestCommandBridge { @@ -29252,132 +28985,152 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("CMOCONC.S.A0007 && CMOCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "CMOCONC.S.A0007 is not set\n"); if (ShouldSkip(" !CMOCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCmoconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCmoconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("CMOCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when CMOCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !CMOCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCmoconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCmoconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("CMOCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when CMOCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !CMOCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("CMOCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when CMOCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !CMOCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("CMOCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when CMOCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when CMOCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !CMOCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCmoconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCmoconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -29480,6 +29233,9 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -29493,7 +29249,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -29821,35 +29577,6 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterCarbonMonoxideConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -29869,7 +29596,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29892,7 +29619,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCmoconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCmoconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29918,7 +29645,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29947,7 +29674,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCmoconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCmoconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29976,7 +29703,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -30003,7 +29730,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf04PeaIsNotSet_22() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -30029,7 +29756,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -30056,7 +29783,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -30082,7 +29809,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -30105,7 +29832,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCmoconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCmoconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -30129,7 +29856,18 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -30139,7 +29877,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -30155,7 +29893,18 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -30165,7 +29914,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -30180,6 +29929,17 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_CMOCONC_2_1 : public TestCommandBridge { @@ -30809,133 +30569,153 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("FLDCONC.S.A0007 && FLDCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "FLDCONC.S.A0007 is not set\n"); if (ShouldSkip(" !FLDCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenFldconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenFldconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("FLDCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when FLDCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !FLDCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenFldconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenFldconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("FLDCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when FLDCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !FLDCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("FLDCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when FLDCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !FLDCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("FLDCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when FLDCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when FLDCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !FLDCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenFldconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenFldconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + break; } if (CHIP_NO_ERROR != err) { @@ -31037,6 +30817,9 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -31050,7 +30833,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -31378,35 +31161,6 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterFormaldehydeConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -31426,7 +31180,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31449,7 +31203,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenFldconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenFldconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31475,7 +31229,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31504,7 +31258,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenFldconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenFldconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31533,7 +31287,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31560,7 +31314,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf04PeaIsNotSet_22() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31586,7 +31340,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31613,7 +31367,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31639,7 +31393,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31662,7 +31416,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenFldconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenFldconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31686,7 +31440,18 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31696,7 +31461,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -31712,6 +31477,17 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() { @@ -31737,6 +31513,17 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_FLDCONC_2_1 : public TestCommandBridge { @@ -32366,132 +32153,153 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("NDOCONC.S.A0007 && NDOCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "NDOCONC.S.A0007 is not set\n"); if (ShouldSkip(" !NDOCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenNdoconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenNdoconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("NDOCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when NDOCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !NDOCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenNdoconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenNdoconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("NDOCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when NDOCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !NDOCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("NDOCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 3i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when NDOCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !NDOCONC.S.F05 ")) { NextTest(); return; } - err = TestStep3iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 3j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("NDOCONC.S.F01")) { NextTest(); return; } - err = TestStep3jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 3k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !NDOCONC.S.F01 ")) { NextTest(); return; } - err = TestStep3kCheckThatLevelValueIsExcludedFromAttributeListWhenNdoconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenNdoconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " + "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -32594,6 +32402,9 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -32607,7 +32418,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -32935,35 +32746,6 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterNitrogenDioxideConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -32983,7 +32765,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33006,7 +32788,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenNdoconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenNdoconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33032,7 +32814,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33061,7 +32843,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenNdoconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenNdoconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33090,7 +32872,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33117,7 +32899,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf04PeaIsNotSet_22() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33143,7 +32925,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33170,7 +32952,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep3iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33180,7 +32962,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " + NSLog(@"Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " @"NDOCONC.S.F05 (AVG) is not set Error: %@", err); @@ -33196,7 +32978,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33206,7 +32988,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3j: Read the optional, feature dependent attribute LevelValue in AttributeList Error: %@", err); + NSLog(@"Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -33219,7 +33001,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3kCheckThatLevelValueIsExcludedFromAttributeListWhenNdoconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenNdoconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33229,7 +33011,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is not set Error: %@", + NSLog(@"Step 4k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is not set Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -33243,7 +33025,18 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33253,7 +33046,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -33269,7 +33062,18 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33279,7 +33083,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -33294,6 +33098,17 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_NDOCONC_2_1 : public TestCommandBridge { @@ -33919,132 +33734,151 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("OZCONC.S.A0007 && OZCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "OZCONC.S.A0007 is not set\n"); if (ShouldSkip(" !OZCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenOzconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenOzconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("OZCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when OZCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !OZCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenOzconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenOzconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("OZCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when OZCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !OZCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("OZCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when OZCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !OZCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("OZCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when OZCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when OZCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !OZCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenOzconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenOzconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -34147,6 +33981,9 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -34160,7 +33997,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -34488,35 +34325,6 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterOzoneConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -34536,7 +34344,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34559,7 +34367,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenOzconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenOzconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34585,7 +34393,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34614,7 +34422,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenOzconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenOzconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34643,7 +34451,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34669,7 +34477,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf04PeaIsNotSet_22() + CHIP_ERROR TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34695,7 +34503,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34722,7 +34530,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34748,7 +34556,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34771,7 +34579,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenOzconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenOzconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34795,7 +34603,18 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34805,7 +34624,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -34821,7 +34640,18 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34831,7 +34661,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -34846,6 +34676,17 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_OZCONC_2_1 : public TestCommandBridge { @@ -35475,132 +35316,152 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("PMHCONC.S.A0007 && PMHCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "PMHCONC.S.A0007 is not set\n"); if (ShouldSkip(" !PMHCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmhconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmhconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("PMHCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when PMHCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !PMHCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmhconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmhconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMHCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when PMHCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !PMHCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMHCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when PMHCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !PMHCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("PMHCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when PMHCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when PMHCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !PMHCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmhconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmhconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -35703,6 +35564,9 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -35716,7 +35580,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -36044,35 +35908,6 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterPM1ConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -36092,7 +35927,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36115,7 +35950,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmhconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmhconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36141,7 +35976,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36170,7 +36005,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmhconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmhconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36199,7 +36034,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36226,7 +36061,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf04PeaIsNotSet_22() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36252,7 +36087,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36279,7 +36114,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36305,7 +36140,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36328,7 +36163,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmhconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmhconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36352,7 +36187,18 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36362,7 +36208,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -36378,7 +36224,18 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36388,7 +36245,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -36403,6 +36260,17 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_PMHCONC_2_1 : public TestCommandBridge { @@ -37032,132 +36900,152 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("PMICONC.S.A0007 && PMICONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "PMICONC.S.A0007 is not set\n"); if (ShouldSkip(" !PMICONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmiconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmiconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("PMICONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when PMICONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !PMICONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmiconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmiconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMICONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when PMICONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !PMICONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMICONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when PMICONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !PMICONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("PMICONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when PMICONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when PMICONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !PMICONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmiconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmiconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7b: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7bReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -37260,6 +37148,9 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -37273,7 +37164,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -37601,35 +37492,6 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterPM25ConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -37649,7 +37511,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37672,7 +37534,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmiconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmiconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37698,7 +37560,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37727,7 +37589,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmiconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmiconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37756,7 +37618,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37783,7 +37645,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf04PeaIsNotSet_22() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37809,7 +37671,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37836,7 +37698,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37862,7 +37724,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37885,7 +37747,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmiconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmiconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37909,7 +37771,18 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37919,7 +37792,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -37935,7 +37808,18 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7bReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37945,7 +37829,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7b: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -37960,6 +37844,17 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_PMICONC_2_1 : public TestCommandBridge { @@ -38589,132 +38484,152 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("PMKCONC.S.A0007 && PMKCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "PMKCONC.S.A0007 is not set\n"); if (ShouldSkip(" !PMKCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmkconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmkconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("PMKCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when PMKCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !PMKCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmkconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmkconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMKCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when PMKCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !PMKCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMKCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when PMKCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !PMKCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("PMKCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when PMKCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when PMKCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !PMKCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmkconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmkconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -38817,6 +38732,9 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -38830,7 +38748,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -39158,35 +39076,6 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterPM10ConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -39206,7 +39095,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39229,7 +39118,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmkconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmkconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39255,7 +39144,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39284,7 +39173,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmkconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmkconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39313,7 +39202,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39340,7 +39229,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf04PeaIsNotSet_22() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39366,7 +39255,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39393,7 +39282,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39419,7 +39308,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39442,7 +39331,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmkconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmkconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39466,7 +39355,18 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39476,7 +39376,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -39492,7 +39392,18 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39502,7 +39413,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -39517,6 +39428,17 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_PMKCONC_2_1 : public TestCommandBridge { @@ -40142,132 +40064,155 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("RNCONC.S.A0007 && RNCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "RNCONC.S.A0007 is not set\n"); if (ShouldSkip(" !RNCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenRnconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenRnconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("RNCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when RNCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !RNCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenRnconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenRnconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("RNCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when RNCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !RNCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("RNCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when RNCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !RNCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("RNCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when RNCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when RNCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !RNCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenRnconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenRnconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4l: TH reads the AttributeList attribute from the DUT. 1.The list SHALL NOT contain " + "any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " + "0x0000_FFFE) 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " + "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " + "SHALL NOT contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), " + "(0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4lThReadsTheAttributeListAttributeFromTheDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -40370,6 +40315,9 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -40383,7 +40331,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -40711,35 +40659,6 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterRadonConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -40759,7 +40678,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40782,7 +40701,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenRnconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenRnconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40808,7 +40727,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40837,7 +40756,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenRnconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenRnconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40866,7 +40785,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40892,7 +40811,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf04PeaIsNotSet_22() + CHIP_ERROR TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40918,7 +40837,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40945,7 +40864,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40971,7 +40890,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40994,7 +40913,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenRnconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenRnconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -41018,7 +40937,18 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4lThReadsTheAttributeListAttributeFromTheDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -41028,7 +40958,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -41044,7 +40974,18 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -41054,7 +40995,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -41069,6 +41010,17 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_RNCONC_2_1 : public TestCommandBridge { @@ -41701,132 +41653,154 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_16(); - break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.A0007 && TVOCCONC.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "TVOCCONC.S.A0007 is not set\n"); if (ShouldSkip(" !TVOCCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenTvocconcsa0007IsNotSet_18(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenTvocconcsa0007IsNotSet_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when TVOCCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !TVOCCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenTvocconcsf00MeaIsNotSet_20(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenTvocconcsf00MeaIsNotSet_19(); break; - case 21: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when TVOCCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !TVOCCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf04PeaIsNotSet_22(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf04PeaIsNotSet_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when TVOCCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !TVOCCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf05AvgIsNotSet_24(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf05AvgIsNotSet_23(); break; - case 25: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); break; - case 26: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when TVOCCONC.S.F01 (LEV) is " + " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when TVOCCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !TVOCCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenTvocconcsf01LevIsNotSet_26(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenTvocconcsf01LevIsNotSet_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 5l: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + case 26: + ChipLogProgress(chipTool, + " ***** Test Step 26 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); + break; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + break; case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_28(); + ChipLogProgress(chipTool, + " ***** Test Step 28 : Step 6b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); break; } @@ -41929,6 +41903,9 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -41942,7 +41919,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 31; chip::Optional mNodeId; chip::Optional mCluster; @@ -42285,36 +42262,6 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = - [[MTRBaseClusterTotalVolatileOrganicCompoundsConcentrationMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -42334,7 +42281,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42358,7 +42305,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenTvocconcsa0007IsNotSet_18() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenTvocconcsa0007IsNotSet_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42385,7 +42332,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42415,7 +42362,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenTvocconcsf00MeaIsNotSet_20() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenTvocconcsf00MeaIsNotSet_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42445,7 +42392,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42473,7 +42420,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf04PeaIsNotSet_22() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf04PeaIsNotSet_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42500,7 +42447,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42528,7 +42475,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf05AvgIsNotSet_24() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf05AvgIsNotSet_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42555,7 +42502,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42579,7 +42526,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenTvocconcsf01LevIsNotSet_26() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenTvocconcsf01LevIsNotSet_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42604,7 +42551,18 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_28() + CHIP_ERROR + TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42615,7 +42573,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -42631,7 +42589,18 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR + TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42642,7 +42611,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -42657,6 +42626,17 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_TVOCCONC_2_1 : public TestCommandBridge { @@ -44158,105 +44138,64 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("OPCREDS.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads the FeatureMap from DUT\n"); - if (ShouldSkip("OPCREDS.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ThReadsTheFeatureMapFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && OPCREDS.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && OPCREDS.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4aThReadsAttributeListFromDut_4(); - break; - case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 4 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && OPCREDS.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); - break; - case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && OPCREDS.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip("OPCREDS.S.Afff9")) { - NextTest(); - return; - } - err = TestStep6aThReadsAcceptedCommandListFromDut_7(); + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6aThReadsAcceptedCommandListFromDut_5(); break; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 6 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && OPCREDS.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7a: TH reads GeneratedCommandList from DUT\n"); - if (ShouldSkip("OPCREDS.S.Afff8")) { - NextTest(); - return; - } - err = TestStep7aThReadsGeneratedCommandListFromDut_9(); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7a: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7aThReadsGeneratedCommandListFromDut_7(); break; - case 10: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 8 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && OPCREDS.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; } @@ -44296,12 +44235,6 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -44315,7 +44248,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -44391,40 +44324,6 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterOperationalCredentials alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -44450,7 +44349,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -44460,18 +44359,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR - TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_7() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44502,7 +44390,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -44512,7 +44400,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_9() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44539,7 +44427,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -44594,196 +44482,153 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("BINFO.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads the FeatureMap from DUT\n"); - if (ShouldSkip("BINFO.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ThReadsTheFeatureMapFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && BINFO.S.Afffb")) { + ChipLogProgress( + chipTool, " ***** Test Step 4 : Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList\n"); + if (ShouldSkip("BINFO.S.A000b")) { NextTest(); return; } - err = TestStep4aThReadsAttributeListFromDut_4(); + err = TestStep4bThReadsOptionalAttributeManufacturingDateInAttributeList_4(); break; case 5: - ChipLogProgress( - chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList\n"); - if (ShouldSkip("BINFO.S.A000b && BINFO.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4c: TH reads optional attribute(PartNumber) in attributeList\n"); + if (ShouldSkip("BINFO.S.A000c")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeManufacturingDateInAttributeList_5(); + err = TestStep4cThReadsOptionalAttributePartNumberInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: TH reads optional attribute(PartNumber) in attributeList\n"); - if (ShouldSkip("BINFO.S.A000c && BINFO.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4d: TH reads optional attribute(ProductURL) in attributeList\n"); + if (ShouldSkip("BINFO.S.A000d")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributePartNumberInAttributeList_6(); + err = TestStep4dThReadsOptionalAttributeProductURLInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4d: TH reads optional attribute(ProductURL) in attributeList\n"); - if (ShouldSkip("BINFO.S.A000d && BINFO.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4e: TH reads optional attribute(ProductLabel) in attributeList\n"); + if (ShouldSkip("BINFO.S.A000e")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributeProductURLInAttributeList_7(); + err = TestStep4eThReadsOptionalAttributeProductLabelInAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4e: TH reads optional attribute(ProductLabel) in attributeList\n"); - if (ShouldSkip("BINFO.S.A000e && BINFO.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4f: TH reads optional attribute(SerialNumber) in attributeList\n"); + if (ShouldSkip("BINFO.S.A000f")) { NextTest(); return; } - err = TestStep4eThReadsOptionalAttributeProductLabelInAttributeList_8(); + err = TestStep4fThReadsOptionalAttributeSerialNumberInAttributeList_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4f: TH reads optional attribute(SerialNumber) in attributeList\n"); - if (ShouldSkip("BINFO.S.A000f && BINFO.S.Afffb")) { + ChipLogProgress( + chipTool, " ***** Test Step 9 : Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList\n"); + if (ShouldSkip("BINFO.S.A0010")) { NextTest(); return; } - err = TestStep4fThReadsOptionalAttributeSerialNumberInAttributeList_9(); + err = TestStep4gThReadsOptionalAttributeLocalConfigDisabledInAttributeList_9(); break; case 10: - ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList\n"); - if (ShouldSkip("BINFO.S.A0010 && BINFO.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4h: TH reads optional attribute(Reachable) in attributeList\n"); + if (ShouldSkip("BINFO.S.A0011")) { NextTest(); return; } - err = TestStep4gThReadsOptionalAttributeLocalConfigDisabledInAttributeList_10(); + err = TestStep4hThReadsOptionalAttributeReachableInAttributeList_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4h: TH reads optional attribute(Reachable) in attributeList\n"); - if (ShouldSkip("BINFO.S.A0011 && BINFO.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4i: TH reads optional attribute(UniqueID) in attributeList\n"); + if (ShouldSkip("BINFO.S.A0012")) { NextTest(); return; } - err = TestStep4hThReadsOptionalAttributeReachableInAttributeList_11(); + err = TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4i: TH reads optional attribute(UniqueID) in attributeList\n"); - if (ShouldSkip("BINFO.S.A0012 && BINFO.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_12(); - break; - case 13: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 4j: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 12 : Step 4j: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && BINFO.S.Afffb")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4jThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + err = TestStep4jThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5a: TH1 reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.Afffa && !BINFO.S.E00 && !BINFO.S.E01 && !BINFO.S.E02 && " - "!BINFO.S.A0011 ")) { - NextTest(); - return; - } - NextTest(); - return; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5b: Read BINFO.S.E00(StartUp) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.E00 && BINFO.S.Afffa")) { + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5b: Read BINFO.S.E00(StartUp) event in EventList\n"); + if (ShouldSkip("BINFO.S.E00")) { NextTest(); return; } NextTest(); return; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5c: Read BINFO.S.E01(ShutDown) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.E01 && BINFO.S.Afffa")) { + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5c: Read BINFO.S.E01(ShutDown) event in EventList\n"); + if (ShouldSkip("BINFO.S.E01")) { NextTest(); return; } NextTest(); return; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 5d: Read BINFO.S.E02(Leave) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.E02 && BINFO.S.Afffa")) { + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5d: Read BINFO.S.E02(Leave) event in EventList\n"); + if (ShouldSkip("BINFO.S.E02")) { NextTest(); return; } NextTest(); return; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 5e: Read (ReachableChanged) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && BINFO.S.A0011 && BINFO.S.Afffa")) { + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5e: Read (ReachableChanged) event in EventList\n"); + if (ShouldSkip("BINFO.S.A0011")) { NextTest(); return; } NextTest(); return; - case 19: - ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 5f: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " - "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && BINFO.S.Afffa")) { - NextTest(); - return; - } - err = TestStep5fThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); - break; - case 20: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 17 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && BINFO.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); break; - case 21: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 18 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && BINFO.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); break; } @@ -44853,15 +44698,6 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -44875,7 +44711,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 22; + const uint16_t mTestCount = 19; chip::Optional mNodeId; chip::Optional mCluster; @@ -44945,44 +44781,6 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterBasicInformation alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 10UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 19UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterBasicInformation alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -45013,7 +44811,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeManufacturingDateInAttributeList_5() + CHIP_ERROR TestStep4bThReadsOptionalAttributeManufacturingDateInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45034,7 +44832,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributePartNumberInAttributeList_6() + CHIP_ERROR TestStep4cThReadsOptionalAttributePartNumberInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45055,7 +44853,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeProductURLInAttributeList_7() + CHIP_ERROR TestStep4dThReadsOptionalAttributeProductURLInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45076,7 +44874,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsOptionalAttributeProductLabelInAttributeList_8() + CHIP_ERROR TestStep4eThReadsOptionalAttributeProductLabelInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45097,7 +44895,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsOptionalAttributeSerialNumberInAttributeList_9() + CHIP_ERROR TestStep4fThReadsOptionalAttributeSerialNumberInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45118,7 +44916,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsOptionalAttributeLocalConfigDisabledInAttributeList_10() + CHIP_ERROR TestStep4gThReadsOptionalAttributeLocalConfigDisabledInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45139,7 +44937,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsOptionalAttributeReachableInAttributeList_11() + CHIP_ERROR TestStep4hThReadsOptionalAttributeReachableInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45160,7 +44958,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_12() + CHIP_ERROR TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45182,18 +44980,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4jThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR - TestStep5fThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() + TestStep4jThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45204,7 +44991,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45215,7 +45002,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45270,15 +45057,11 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n"); - if (ShouldSkip("CNET.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ReadTheGlobalAttributeClusterRevision_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: Read the global attribute: FeatureMap\n"); - if (ShouldSkip(" !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 && CNET.S.Afffc")) { + if (ShouldSkip(" !CNET.S.F00 && !CNET.S.F01 && !CNET.S.F02 ")) { NextTest(); return; } @@ -45287,7 +45070,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { case 3: ChipLogProgress( chipTool, " ***** Test Step 3 : Step 3b: Read the global attribute: FeatureMap when CNET.S.F00 is set\n"); - if (ShouldSkip("CNET.S.F00 && CNET.S.Afffc")) { + if (ShouldSkip("CNET.S.F00")) { NextTest(); return; } @@ -45296,7 +45079,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { case 4: ChipLogProgress( chipTool, " ***** Test Step 4 : Step 3c: Read the global attribute: FeatureMap when CNET.S.F01 is set\n"); - if (ShouldSkip("CNET.S.F01 && CNET.S.Afffc")) { + if (ShouldSkip("CNET.S.F01")) { NextTest(); return; } @@ -45305,7 +45088,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { case 5: ChipLogProgress( chipTool, " ***** Test Step 5 : Step 3d: Read the global attribute: FeatureMap when CNET.S.F02 is set\n"); - if (ShouldSkip("CNET.S.F02 && CNET.S.Afffc")) { + if (ShouldSkip("CNET.S.F02")) { NextTest(); return; } @@ -45313,161 +45096,136 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && CNET.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && CNET.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_7(); - break; - case 8: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4b: Read mandatory attributes in AttributeList if " + " ***** Test Step 7 : Step 4b: Read mandatory attributes in AttributeList if " "CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true\n"); - if (ShouldSkip("CNET.S.F00 || CNET.S.F01 || CNET.S.F02 && CNET.S.Afffb")) { + if (ShouldSkip("CNET.S.F00 || CNET.S.F01 || CNET.S.F02")) { NextTest(); return; } - err = TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_8(); + err = TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_7(); break; - case 9: + case 8: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList\n"); - if (ShouldSkip("CNET.S.A0002 && CNET.S.Afffb")) { + chipTool, " ***** Test Step 8 : Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList\n"); + if (ShouldSkip("CNET.S.A0002")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_9(); + err = TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_8(); break; - case 10: + case 9: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList\n"); - if (ShouldSkip("CNET.S.A0003 && CNET.S.Afffb")) { + chipTool, " ***** Test Step 9 : Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList\n"); + if (ShouldSkip("CNET.S.A0003")) { NextTest(); return; } - err = TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_10(); + err = TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_9(); break; - case 11: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 10 : Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && CNET.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); - break; - case 12: - ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && CNET.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; - case 13: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features " + " ***** Test Step 11 : Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features " "CNET.S.F00(WI),CNET.S.F01(TH)\n"); - if (ShouldSkip("( CNET.S.F00 || CNET.S.F01 ) && CNET.S.Afff9")) { + if (ShouldSkip("( CNET.S.F00 || CNET.S.F01 )")) { NextTest(); return; } - err = TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_13(); + err = TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_11(); break; - case 14: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is " + " ***** Test Step 12 : Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is " "true)\n"); - if (ShouldSkip("CNET.S.F00 && CNET.S.Afff9")) { + if (ShouldSkip("CNET.S.F00")) { NextTest(); return; } - err = TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_14(); + err = TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_12(); break; - case 15: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is " + " ***** Test Step 13 : Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is " "true)\n"); - if (ShouldSkip("CNET.S.F01 && CNET.S.Afff9")) { + if (ShouldSkip("CNET.S.F01")) { NextTest(); return; } - err = TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_15(); + err = TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_13(); break; - case 16: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) " + " ***** Test Step 14 : Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) " "is true)\n"); - if (ShouldSkip("CNET.S.F02 && CNET.S.Afff9")) { + if (ShouldSkip("CNET.S.F02")) { NextTest(); return; } - err = TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_16(); + err = TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_14(); break; - case 17: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 15 : Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && CNET.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); + err = TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); break; - case 18: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related " + " ***** Test Step 16 : Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related " "features(CNET.S.F00(WI) or CNET.S.F01(TH) is true)\n"); - if (ShouldSkip("( CNET.S.F00 || CNET.S.F01 ) && CNET.S.Afff8")) { + if (ShouldSkip("( CNET.S.F00 || CNET.S.F01 )")) { NextTest(); return; } - err = TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_18(); + err = TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_16(); break; - case 19: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related " + " ***** Test Step 17 : Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related " "features(CNET.S.F02(ET) must be true)\n"); - if (ShouldSkip("CNET.S.F02 && CNET.S.Afff8")) { + if (ShouldSkip("CNET.S.F02")) { NextTest(); return; } - err = TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_19(); + err = TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_17(); break; - case 20: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 7c: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 18 : Step 7c: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && CNET.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7cThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20(); + err = TestStep7cThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); break; } @@ -45537,12 +45295,6 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -45556,7 +45308,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 21; + const uint16_t mTestCount = 19; chip::Optional mNodeId; chip::Optional mCluster; @@ -45706,34 +45458,6 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_7() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -45752,7 +45476,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_8() + CHIP_ERROR TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45782,7 +45506,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_9() + CHIP_ERROR TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45805,7 +45529,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_10() + CHIP_ERROR TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45829,7 +45553,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { } CHIP_ERROR - TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45839,18 +45563,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR - TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() - { - - 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 TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_13() + CHIP_ERROR TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45878,7 +45591,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_14() + CHIP_ERROR TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45902,7 +45615,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_15() + CHIP_ERROR TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45926,7 +45639,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_16() + CHIP_ERROR TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45953,7 +45666,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { } CHIP_ERROR - TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() + TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45963,7 +45676,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_18() + CHIP_ERROR TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45990,7 +45703,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_19() + CHIP_ERROR TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46018,7 +45731,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { } CHIP_ERROR - TestStep7cThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20() + TestStep7cThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46073,6 +45786,10 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } err = TestStep2ReadTheGlobalAttributeClusterRevision_1(); break; case 2: @@ -46081,23 +45798,11 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); - break; - case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 4 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -46107,24 +45812,11 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); - break; - case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); break; - case 7: + case 5: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 5 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -46133,11 +45825,11 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 6 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -46146,7 +45838,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; } @@ -46180,12 +45872,6 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -46199,7 +45885,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -46217,25 +45903,11 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1() { - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterDescriptor alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 2: Read the global attribute: ClusterRevision Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("ClusterRevision", actualValue, 1U)); - } - - VerifyOrReturn(CheckConstraintType("clusterRevision", "int16u", "int16u")); - NextTest(); - }]; - - return CHIP_NO_ERROR; + 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 TestStep3ReadTheGlobalAttributeFeatureMap_2() @@ -46269,36 +45941,6 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterDescriptor alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterDescriptor alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -46322,7 +45964,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46333,7 +45975,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46344,18 +45986,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() - { - - 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 - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46410,105 +46041,64 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("DLOG.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TTH reads the FeatureMap from DUT\n"); - if (ShouldSkip("DLOG.S.Afffc")) { - NextTest(); - return; - } err = TestStep3TthReadsTheFeatureMapFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TTH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DLOG.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aTthReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TTH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && DLOG.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4aTthReadsAttributeListFromDut_4(); - break; - case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TTH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 4 : Step 4b: TTH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DLOG.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4bTthReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); - break; - case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 4b: TTH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DLOG.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4bTthReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep4bTthReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: TTH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip("DLOG.S.Afff9")) { - NextTest(); - return; - } - err = TestStep6aTthReadsAcceptedCommandListFromDut_7(); + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6a: TTH reads AcceptedCommandList from DUT\n"); + err = TestStep6aTthReadsAcceptedCommandListFromDut_5(); break; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 6b: TTH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 6 : Step 6b: TTH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DLOG.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6bTthReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep6bTthReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7a: TTH reads GeneratedCommandList from DUT\n"); - if (ShouldSkip("DLOG.S.Afff8")) { - NextTest(); - return; - } - err = TestStep7aTthReadsGeneratedCommandListFromDut_9(); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7a: TTH reads GeneratedCommandList from DUT\n"); + err = TestStep7aTthReadsGeneratedCommandListFromDut_7(); break; - case 10: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 7b: TTH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values " - "in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + " ***** Test Step 8 : Step 7b: TTH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DLOG.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7bTthReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep7bTthReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; } @@ -46548,12 +46138,6 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -46567,7 +46151,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -46645,7 +46229,6 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -46656,44 +46239,8 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aTthReadsAttributeListFromDut_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterDiagnosticLogs alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TTH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR - TestStep4bTthReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() - { - - 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 - TestStep4bTthReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep4bTthReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46703,7 +46250,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aTthReadsAcceptedCommandListFromDut_7() + CHIP_ERROR TestStep6aTthReadsAcceptedCommandListFromDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46729,7 +46276,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bTthReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep6bTthReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46739,7 +46286,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aTthReadsGeneratedCommandListFromDut_9() + CHIP_ERROR TestStep7aTthReadsGeneratedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46765,7 +46312,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bTthReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep7bTthReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46820,15 +46367,11 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("DGETH.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads the FeatureMap from DUT\n"); - if (ShouldSkip(" !DGETH.S.F00 && !DGETH.S.F01 && DGETH.S.Afffc")) { + if (ShouldSkip(" !DGETH.S.F00 && !DGETH.S.F01")) { NextTest(); return; } @@ -46837,7 +46380,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { case 3: ChipLogProgress( chipTool, " ***** Test Step 3 : Step 3b: Given DGETH.S.F00 ensure featuremap has the correct bit set\n"); - if (ShouldSkip("DGETH.S.F00 && DGETH.S.Afffc")) { + if (ShouldSkip("DGETH.S.F00")) { NextTest(); return; } @@ -46846,7 +46389,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { case 4: ChipLogProgress( chipTool, " ***** Test Step 4 : Step 3c: Given DGETH.S.F01 ensure featuremap has the correct bit set\n"); - if (ShouldSkip("DGETH.S.F01 && DGETH.S.Afffc")) { + if (ShouldSkip("DGETH.S.F01")) { NextTest(); return; } @@ -46854,173 +46397,148 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGETH.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && DGETH.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4b: TH reads optional attribute(PHYRate) in AttributeList\n"); + if (ShouldSkip("DGETH.S.A0000")) { NextTest(); return; } - err = TestStep4aThReadsAttributeListFromDut_6(); + err = TestStep4bThReadsOptionalAttributePHYRateInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4b: TH reads optional attribute(PHYRate) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0000 && DGETH.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4c: TH reads optional attribute(FullDuplex) in AttributeList\n"); + if (ShouldSkip("DGETH.S.A0001")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributePHYRateInAttributeList_7(); + err = TestStep4cThReadsOptionalAttributeFullDuplexInAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4c: TH reads optional attribute(FullDuplex) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0001 && DGETH.S.Afffb")) { + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 4d: TH reads optional attribute(PacketRxCount) and Feature " + "dependent(DGETH.S.F00(PKTCNT)) in AttributeList\n"); + if (ShouldSkip("DGETH.S.A0002")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributeFullDuplexInAttributeList_8(); + err = TestStep4dThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_8(); break; case 9: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4d: TH reads optional attribute(PacketRxCount) and Feature " + " ***** Test Step 9 : Step 4e: TH reads optional attribute(PacketRxCount) and Feature " "dependent(DGETH.S.F00(PKTCNT)) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0002 && DGETH.S.Afffb")) { + if (ShouldSkip("DGETH.S.A0003")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_9(); + err = TestStep4eThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_9(); break; case 10: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4e: TH reads optional attribute(PacketRxCount) and Feature " - "dependent(DGETH.S.F00(PKTCNT)) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0003 && DGETH.S.Afffb")) { + " ***** Test Step 10 : Step 4f: TH reads optional attribute(PacketRxCount) and Feature " + "dependent(DGETH.S.F01(ERRCNT)) in AttributeList\n"); + if (ShouldSkip("DGETH.S.A0004")) { NextTest(); return; } - err = TestStep4eThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_10(); + err = TestStep4fThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_10(); break; case 11: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4f: TH reads optional attribute(PacketRxCount) and Feature " + " ***** Test Step 11 : Step 4g: TH reads optional attribute(PacketRxCount) and Feature " "dependent(DGETH.S.F01(ERRCNT)) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0004 && DGETH.S.Afffb")) { + if (ShouldSkip("DGETH.S.A0005")) { NextTest(); return; } - err = TestStep4fThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_11(); + err = TestStep4gThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_11(); break; case 12: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4g: TH reads optional attribute(PacketRxCount) and Feature " + " ***** Test Step 12 : Step 4h: TH reads optional attribute(PacketRxCount) and Feature " "dependent(DGETH.S.F01(ERRCNT)) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0005 && DGETH.S.Afffb")) { + if (ShouldSkip("DGETH.S.A0006")) { NextTest(); return; } - err = TestStep4gThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_12(); + err = TestStep4hThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_12(); break; case 13: - ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 4h: TH reads optional attribute(PacketRxCount) and Feature " - "dependent(DGETH.S.F01(ERRCNT)) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0006 && DGETH.S.Afffb")) { + ChipLogProgress( + chipTool, " ***** Test Step 13 : Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList\n"); + if (ShouldSkip("DGETH.S.A0007")) { NextTest(); return; } - err = TestStep4hThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_13(); + err = TestStep4iThReadsOptionalAttributeCarrierDetectInAttributeList_13(); break; case 14: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0007 && DGETH.S.Afffb")) { + chipTool, " ***** Test Step 14 : Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList\n"); + if (ShouldSkip("DGETH.S.A0008")) { NextTest(); return; } - err = TestStep4iThReadsOptionalAttributeCarrierDetectInAttributeList_14(); + err = TestStep4jThReadsOptionalAttributeTimeSinceResetInAttributeList_14(); break; case 15: - ChipLogProgress( - chipTool, " ***** Test Step 15 : Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0008 && DGETH.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4jThReadsOptionalAttributeTimeSinceResetInAttributeList_15(); - break; - case 16: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 4k: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 15 : Step 4k: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGETH.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4kThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); - break; - case 17: - ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGETH.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); + err = TestStep4kThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); break; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip("( DGETH.S.F00 || DGETH.S.F01 ) && DGETH.S.Afff9")) { + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + if (ShouldSkip("( DGETH.S.F00 || DGETH.S.F01 )")) { NextTest(); return; } - err = TestStep6aThReadsAcceptedCommandListFromDut_18(); + err = TestStep6aThReadsAcceptedCommandListFromDut_16(); break; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 6b: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip("DGETH.S.Afff9 && !DGETH.S.F00 && !DGETH.S.F01")) { + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 6b: TH reads AcceptedCommandList from DUT\n"); + if (ShouldSkip(" !DGETH.S.F00 && !DGETH.S.F01 ")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListFromDut_19(); + err = TestStep6bThReadsAcceptedCommandListFromDut_17(); break; - case 20: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 18 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGETH.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20(); + err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); break; - case 21: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 19 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGETH.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); break; } @@ -47093,12 +46611,6 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -47112,7 +46624,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 22; + const uint16_t mTestCount = 20; chip::Optional mNodeId; chip::Optional mCluster; @@ -47238,7 +46750,6 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -47249,34 +46760,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_6() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterEthernetNetworkDiagnostics alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bThReadsOptionalAttributePHYRateInAttributeList_7() + CHIP_ERROR TestStep4bThReadsOptionalAttributePHYRateInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47299,7 +46783,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeFullDuplexInAttributeList_8() + CHIP_ERROR TestStep4cThReadsOptionalAttributeFullDuplexInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47322,7 +46806,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_9() + CHIP_ERROR TestStep4dThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47347,7 +46831,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_10() + CHIP_ERROR TestStep4eThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47372,7 +46856,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_11() + CHIP_ERROR TestStep4fThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47397,7 +46881,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_12() + CHIP_ERROR TestStep4gThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47422,7 +46906,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_13() + CHIP_ERROR TestStep4hThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47447,7 +46931,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsOptionalAttributeCarrierDetectInAttributeList_14() + CHIP_ERROR TestStep4iThReadsOptionalAttributeCarrierDetectInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47470,7 +46954,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jThReadsOptionalAttributeTimeSinceResetInAttributeList_15() + CHIP_ERROR TestStep4jThReadsOptionalAttributeTimeSinceResetInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47494,18 +46978,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4kThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() - { - - 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 - TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() + TestStep4kThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -47515,7 +46988,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_18() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47538,7 +47011,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_19() + CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47565,7 +47038,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20() + TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -47576,7 +47049,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49000,97 +48473,64 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n"); - if (ShouldSkip("FLW.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ReadTheGlobalAttributeClusterRevision_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n"); - if (ShouldSkip("FLW.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ReadTheGlobalAttributeFeatureMap_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && FLW.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && FLW.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("FLW.S.A0003")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); + err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); - if (ShouldSkip("FLW.S.A0003 && FLW.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5(); - break; - case 6: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && FLW.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); - break; - case 7: - ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && FLW.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && FLW.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 9: + case 7: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && FLW.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); break; } @@ -49127,12 +48567,6 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -49146,7 +48580,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 10; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -49227,7 +48661,6 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -49238,35 +48671,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterFlowMeasurement alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5() + CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -49288,18 +48693,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR - TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49310,7 +48704,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49321,7 +48715,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49611,88 +49005,55 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("FLABEL.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads the FeatureMap from DUT\n"); - if (ShouldSkip("FLABEL.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ThReadsTheFeatureMapFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && FLABEL.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && FLABEL.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4aThReadsAttributeListFromDut_4(); - break; - case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 4 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && FLABEL.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); - break; - case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && FLABEL.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); break; - case 7: + case 5: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 5 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && FLABEL.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 6 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && FLABEL.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; } @@ -49726,12 +49087,6 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -49745,7 +49100,7 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -49824,7 +49179,6 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -49835,45 +49189,8 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterFixedLabel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR - TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() - { - - 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 - TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49884,7 +49201,7 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49895,7 +49212,7 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -50020,72 +49337,102 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress( + chipTool, " ***** Test Step 10 : Step 3b: Read the feature dependent FAN.S.F00 (SPD) attribute in AttributeList\n"); + if (ShouldSkip("FAN.S.F00")) { NextTest(); return; } - err = TestStep3aReadTheGlobalAttributeAttributeList_10(); + err = TestStep3bReadTheFeatureDependentFansf00SpdAttributeInAttributeList_10(); break; case 11: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 3b: Read the feature dependent FAN.S.F00 (SPD) attribute in AttributeList\n"); - if (ShouldSkip("FAN.S.F00")) { + chipTool, " ***** Test Step 11 : Step 3c: Read the feature dependent FAN.S.F02(RCK) attribute in AttributeList\n"); + if (ShouldSkip("FAN.S.F02")) { NextTest(); return; } - err = TestStep3bReadTheFeatureDependentFansf00SpdAttributeInAttributeList_11(); + err = TestStep3cReadTheFeatureDependentFansf02rckAttributeInAttributeList_11(); break; case 12: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 3c: Read the feature dependent FAN.S.F02(RCK) attribute in AttributeList\n"); - if (ShouldSkip("FAN.S.F02")) { + chipTool, " ***** Test Step 12 : Step 3d: Read the feature dependent FAN.S.F03(WND) attribute in AttributeList\n"); + if (ShouldSkip("FAN.S.F03")) { NextTest(); return; } - err = TestStep3cReadTheFeatureDependentFansf02rckAttributeInAttributeList_12(); + err = TestStep3dReadTheFeatureDependentFansf03wndAttributeInAttributeList_12(); break; case 13: ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 3d: Read the feature dependent FAN.S.F03(WND) attribute in AttributeList\n"); - if (ShouldSkip("FAN.S.F03")) { + chipTool, " ***** Test Step 13 : Step 3e: Read the feature dependent FAN.S.F05(DIR) attribute in AttributeList\n"); + if (ShouldSkip("FAN.S.F05")) { NextTest(); return; } - err = TestStep3dReadTheFeatureDependentFansf03wndAttributeInAttributeList_13(); + err = TestStep3eReadTheFeatureDependentFansf05dirAttributeInAttributeList_13(); break; case 14: - ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 3e: Read the feature dependent FAN.S.F05(DIR) attribute in AttributeList\n"); - if (ShouldSkip("FAN.S.F05")) { + ChipLogProgress(chipTool, + " ***** Test Step 14 : Step 3f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep3eReadTheFeatureDependentFansf05dirAttributeInAttributeList_14(); + err = TestStep3fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4: Read the global attribute: AcceptedCommandList\n"); + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AcceptedCommandList\n"); if (ShouldSkip(" !FAN.S.C00.Rsp ")) { NextTest(); return; } - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_15(); + err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_15(); break; case 16: + ChipLogProgress(chipTool, + " ***** Test Step 16 : Step 4b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " + "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep4bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + break; + case 17: ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 5: Read the optional command (ResetCondition) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 17 : Step 5a: Read the optional command (ResetCondition) in AcceptedCommandList\n"); if (ShouldSkip("FAN.S.C00.Rsp")) { NextTest(); return; } - err = TestStep5ReadTheOptionalCommandResetConditionInAcceptedCommandList_16(); + err = TestStep5aReadTheOptionalCommandResetConditionInAcceptedCommandList_17(); + break; + case 18: + ChipLogProgress(chipTool, + " ***** Test Step 18 : Step 5b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " + "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is " + "the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in " + "the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); break; } @@ -50149,6 +49496,12 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -50162,7 +49515,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 17; + const uint16_t mTestCount = 19; chip::Optional mNodeId; chip::Optional mCluster; @@ -50332,36 +49685,6 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterFanControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_10() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterFanControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -50384,7 +49707,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheFeatureDependentFansf00SpdAttributeInAttributeList_11() + CHIP_ERROR TestStep3bReadTheFeatureDependentFansf00SpdAttributeInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -50407,7 +49730,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheFeatureDependentFansf02rckAttributeInAttributeList_12() + CHIP_ERROR TestStep3cReadTheFeatureDependentFansf02rckAttributeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -50429,7 +49752,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheFeatureDependentFansf03wndAttributeInAttributeList_13() + CHIP_ERROR TestStep3dReadTheFeatureDependentFansf03wndAttributeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -50451,7 +49774,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3eReadTheFeatureDependentFansf05dirAttributeInAttributeList_14() + CHIP_ERROR TestStep3eReadTheFeatureDependentFansf05dirAttributeInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -50472,7 +49795,18 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_15() + CHIP_ERROR + TestStep3fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() + { + + 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 TestStep4aReadTheGlobalAttributeAcceptedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -50480,7 +49814,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 4a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -50496,7 +49830,18 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheOptionalCommandResetConditionInAcceptedCommandList_16() + CHIP_ERROR + TestStep4bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + { + + 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 TestStep5aReadTheOptionalCommandResetConditionInAcceptedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -50504,7 +49849,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 5: Read the optional command (ResetCondition) in AcceptedCommandList Error: %@", err); + NSLog(@"Step 5a: Read the optional command (ResetCondition) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -50516,6 +49861,17 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep5bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_FAN_2_1 : public TestCommandBridge { @@ -52397,35 +51753,15 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ReadTheGlobalAttributeAttributeList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_5(); break; } @@ -52456,12 +51792,6 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -52475,7 +51805,7 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 6; chip::Optional mNodeId; chip::Optional mCluster; @@ -52564,7 +51894,6 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -52575,39 +51904,7 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterGeneralCommissioning alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52632,7 +51929,7 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53029,181 +52326,112 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n"); - if (ShouldSkip("DGGEN.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ReadTheGlobalAttributeClusterRevision_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n"); - if (ShouldSkip("DGGEN.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ReadTheGlobalAttributeFeatureMap_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read optional attribute(UpTime) in AttributeList\n"); + if (ShouldSkip("DGGEN.S.A0002")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); + err = TestStep4bReadOptionalAttributeUpTimeInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read optional attribute(UpTime) in AttributeList\n"); - if (ShouldSkip("DGGEN.S.A0002 && DGGEN.S.Afffb")) { + ChipLogProgress( + chipTool, " ***** Test Step 5 : Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList\n"); + if (ShouldSkip("DGGEN.S.A0003")) { NextTest(); return; } - err = TestStep4bReadOptionalAttributeUpTimeInAttributeList_5(); + err = TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_5(); break; case 6: - ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList\n"); - if (ShouldSkip("DGGEN.S.A0003 && DGGEN.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4d: Read optional attribute(BootReason) in AttributeList\n"); + if (ShouldSkip("DGGEN.S.A0004")) { NextTest(); return; } - err = TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_6(); + err = TestStep4dReadOptionalAttributeBootReasonInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4d: Read optional attribute(BootReason) in AttributeList\n"); - if (ShouldSkip("DGGEN.S.A0004 && DGGEN.S.Afffb")) { + ChipLogProgress( + chipTool, " ***** Test Step 7 : Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList\n"); + if (ShouldSkip("DGGEN.S.A0005")) { NextTest(); return; } - err = TestStep4dReadOptionalAttributeBootReasonInAttributeList_7(); + err = TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_7(); break; case 8: ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList\n"); - if (ShouldSkip("DGGEN.S.A0005 && DGGEN.S.Afffb")) { + chipTool, " ***** Test Step 8 : Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList\n"); + if (ShouldSkip("DGGEN.S.A0006")) { NextTest(); return; } - err = TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_8(); + err = TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_8(); break; case 9: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList\n"); - if (ShouldSkip("DGGEN.S.A0006 && DGGEN.S.Afffb")) { + chipTool, " ***** Test Step 9 : Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList\n"); + if (ShouldSkip("DGGEN.S.A0007")) { NextTest(); return; } - err = TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_9(); + err = TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_9(); break; case 10: - ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList\n"); - if (ShouldSkip("DGGEN.S.A0007 && DGGEN.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_10(); - break; - case 11: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 10 : Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGGEN.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); - break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5a: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5b: Read optional event(HardwareFaultChange) in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E00")) { - NextTest(); - return; - } - NextTest(); - return; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5c: Read optional event(RadioFaultChange) in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E01")) { - NextTest(); - return; - } - NextTest(); - return; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5d: Read optional event(NetworkFaultChange) in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGGEN.S.Afffa && DGGEN.S.E02")) { - NextTest(); - return; - } - NextTest(); - return; - case 16: - ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 5e: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGGEN.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5eThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + err = TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - if (ShouldSkip("DGGEN.S.Afff9")) { - NextTest(); - return; - } - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_17(); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_11(); break; - case 18: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 12 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGGEN.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; - case 19: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 13 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGGEN.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); break; } @@ -53258,24 +52486,6 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -53289,7 +52499,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 20; + const uint16_t mTestCount = 14; chip::Optional mNodeId; chip::Optional mCluster; @@ -53376,7 +52586,6 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -53387,37 +52596,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterGeneralDiagnostics alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bReadOptionalAttributeUpTimeInAttributeList_5() + CHIP_ERROR TestStep4bReadOptionalAttributeUpTimeInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53440,7 +52619,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_6() + CHIP_ERROR TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53463,7 +52642,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadOptionalAttributeBootReasonInAttributeList_7() + CHIP_ERROR TestStep4dReadOptionalAttributeBootReasonInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53486,7 +52665,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_8() + CHIP_ERROR TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53509,7 +52688,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_9() + CHIP_ERROR TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53532,7 +52711,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_10() + CHIP_ERROR TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53556,18 +52735,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR - TestStep5eThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -53577,7 +52745,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_17() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53601,7 +52769,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -53612,7 +52780,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -54179,23 +53347,11 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip(" !PICS_EVENT_LIST_ENABLED ")) { - NextTest(); - return; - } - err = TestStep4aThReadsAttributeListFromDut_5(); - break; - case 6: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 4b: The list SHALL NOT contain any additional values in the standard or scoped range: " + " ***** Test Step 5 : Step 4b: The list SHALL NOT contain any additional values in the standard or scoped range: " "(0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 3.TThe list SHALL NOT contain any values in the Test Vendor or invalid " @@ -54205,19 +53361,11 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep4bTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5a: TH1 reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " + " ***** Test Step 6 : Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or " @@ -54227,15 +53375,15 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6aThReadsAcceptedCommandListFromDut_9(); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6aThReadsAcceptedCommandListFromDut_7(); break; - case 10: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 8 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -54244,15 +53392,15 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7a: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7aThReadsGeneratedCommandListFromDut_11(); + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7a: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7aThReadsGeneratedCommandListFromDut_9(); break; - case 12: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 10 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -54261,7 +53409,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; } @@ -54307,12 +53455,6 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -54326,7 +53468,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 13; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -54423,38 +53565,6 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterGroupKeyManagement alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -54478,7 +53588,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep4bTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -54489,7 +53599,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -54499,7 +53609,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_9() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54526,7 +53636,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -54536,7 +53646,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_11() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54561,7 +53671,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -54615,103 +53725,137 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { err = TestStep1WaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: - ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n"); - err = TestStep2ReadTheGlobalAttributeClusterRevision_1(); + ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads ClusterRevision attribute from DUT\n"); + err = TestStep2ThReadsClusterRevisionAttributeFromDut_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n"); + ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads FeatureMap attribute from DUT\n"); if (ShouldSkip("ICDM.S.F00")) { NextTest(); return; } - err = TestStep3ReadTheGlobalAttributeFeatureMap_2(); + err = TestStep3ThReadsFeatureMapAttributeFromDut_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3: Read the global attribute: FeatureMap\n"); + ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3: TH reads FeatureMap attribute from DUT\n"); if (ShouldSkip(" !ICDM.S.F00 ")) { NextTest(); return; } - err = TestStep3ReadTheGlobalAttributeFeatureMap_3(); + err = TestStep3ThReadsFeatureMapAttributeFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList attribute from DUT\n"); + err = TestStep4aThReadsAttributeListAttributeFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress( + chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(RegisteredClients) in AttributeList\n"); + if (ShouldSkip("ICDM.S.A0003")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_5(); + err = TestStep4bReadTheOptionalAttributeRegisteredClientsInAttributeList_5(); break; case 6: - ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4b: Read the optional attribute(RegisteredClients) in AttributeList\n"); - if (ShouldSkip("ICDM.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: Read the optional attribute(IcdCounter) in AttributeList\n"); + if (ShouldSkip("ICDM.S.A0004")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeRegisteredClientsInAttributeList_6(); + err = TestStep4cReadTheOptionalAttributeIcdCounterInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4c: Read the optional attribute(IcdCounter) in AttributeList\n"); - if (ShouldSkip("ICDM.S.A0004")) { + ChipLogProgress(chipTool, + " ***** Test Step 7 : Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList\n"); + if (ShouldSkip("ICDM.S.A0005")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeIcdCounterInAttributeList_7(); + err = TestStep4dReadTheOptionalAttributeClientsSupportedPerFabricInAttributeList_7(); break; case 8: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList\n"); - if (ShouldSkip("ICDM.S.A0005")) { + " ***** Test Step 8 : Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeClientsSupportedPerFabricInAttributeList_8(); + err = TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6a: TH reads AcceptedCommandList attribute from DUT\n"); + if (ShouldSkip(" !ICDM.S.F00 && !ICDM.S.C03.Rsp ")) { NextTest(); return; } - NextTest(); - return; + err = TestStep6aThReadsAcceptedCommandListAttributeFromDut_9(); + break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_10(); + ChipLogProgress( + chipTool, " ***** Test Step 10 : Step 6b: TH reads AcceptedCommandList attribute from DUT if ICDM.S.F00 is true\n"); + if (ShouldSkip("ICDM.S.F00")) { + NextTest(); + return; + } + err = TestStep6bThReadsAcceptedCommandListAttributeFromDutIfIcdmsf00IsTrue_10(); break; case 11: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 6b: Read the optional command (StayActiveRequest) in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 6c: Read the optional command (StayActiveRequest) in AttributeList\n"); if (ShouldSkip("ICDM.S.C03.Rsp")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandStayActiveRequestInAttributeList_11(); + err = TestStep6cReadTheOptionalCommandStayActiveRequestInAttributeList_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 7: Read the global attribute: GeneratedCommandList\n"); - if (ShouldSkip(" !ICDM.S.F00 ")) { + ChipLogProgress(chipTool, + " ***** Test Step 12 : Step 6d: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " + "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_12(); + err = TestStep6dThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7: Read the global attribute: GeneratedCommandList\n"); + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); + if (ShouldSkip(" !ICDM.S.F00 ")) { + NextTest(); + return; + } + err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_13(); + break; + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); if (ShouldSkip("ICDM.S.F00")) { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_13(); + err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_14(); + break; + case 15: + ChipLogProgress(chipTool, + " ***** Test Step 15 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); break; } @@ -54766,6 +53910,12 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -54779,7 +53929,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 14; + const uint16_t mTestCount = 16; chip::Optional mNodeId; chip::Optional mCluster; @@ -54794,7 +53944,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return WaitForCommissionee("alpha", value); } - CHIP_ERROR TestStep2ReadTheGlobalAttributeClusterRevision_1() + CHIP_ERROR TestStep2ThReadsClusterRevisionAttributeFromDut_1() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54802,7 +53952,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeClusterRevisionWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 2: Read the global attribute: ClusterRevision Error: %@", err); + NSLog(@"Step 2: TH reads ClusterRevision attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -54818,7 +53968,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3ReadTheGlobalAttributeFeatureMap_2() + CHIP_ERROR TestStep3ThReadsFeatureMapAttributeFromDut_2() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54826,7 +53976,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3: Read the global attribute: FeatureMap Error: %@", err); + NSLog(@"Step 3: TH reads FeatureMap attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -54842,7 +53992,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3ReadTheGlobalAttributeFeatureMap_3() + CHIP_ERROR TestStep3ThReadsFeatureMapAttributeFromDut_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54850,7 +54000,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3: Read the global attribute: FeatureMap Error: %@", err); + NSLog(@"Step 3: TH reads FeatureMap attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -54866,7 +54016,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + CHIP_ERROR TestStep4aThReadsAttributeListAttributeFromDut_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54874,7 +54024,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Step 4a: TH reads AttributeList attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -54884,7 +54034,6 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -54895,7 +54044,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_5() + CHIP_ERROR TestStep4bReadTheOptionalAttributeRegisteredClientsInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54903,19 +54052,12 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Step 4b: Read the optional attribute(RegisteredClients) in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); NextTest(); }]; @@ -54923,7 +54065,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeRegisteredClientsInAttributeList_6() + CHIP_ERROR TestStep4cReadTheOptionalAttributeIcdCounterInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54931,12 +54073,12 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4b: Read the optional attribute(RegisteredClients) in AttributeList Error: %@", err); + NSLog(@"Step 4c: Read the optional attribute(IcdCounter) in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); NextTest(); }]; @@ -54944,7 +54086,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeIcdCounterInAttributeList_7() + CHIP_ERROR TestStep4dReadTheOptionalAttributeClientsSupportedPerFabricInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54952,12 +54094,12 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4c: Read the optional attribute(IcdCounter) in AttributeList Error: %@", err); + NSLog(@"Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); NextTest(); }]; @@ -54965,28 +54107,42 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeClientsSupportedPerFabricInAttributeList_8() + CHIP_ERROR + TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_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 TestStep6aThReadsAcceptedCommandListAttributeFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); __auto_type * cluster = [[MTRBaseClusterICDManagement alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList Error: %@", err); + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 6a: TH reads AcceptedCommandList attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("AcceptedCommandList", [actualValue count], static_cast(0))); + } + VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_10() + CHIP_ERROR TestStep6bThReadsAcceptedCommandListAttributeFromDutIfIcdmsf00IsTrue_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54994,7 +54150,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6b: TH reads AcceptedCommandList attribute from DUT if ICDM.S.F00 is true Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -55008,7 +54164,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandStayActiveRequestInAttributeList_11() + CHIP_ERROR TestStep6cReadTheOptionalCommandStayActiveRequestInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -55016,7 +54172,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6b: Read the optional command (StayActiveRequest) in AttributeList Error: %@", err); + NSLog(@"Step 6c: Read the optional command (StayActiveRequest) in AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -55029,7 +54185,18 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_12() + CHIP_ERROR + TestStep6dThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + { + + 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 TestStep7aThReadsGeneratedCommandListAttributeFromDut_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -55037,7 +54204,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: TH reads GeneratedCommandList attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -55053,7 +54220,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_13() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListAttributeFromDut_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -55061,7 +54228,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: TH reads GeneratedCommandList attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -55073,6 +54240,17 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_ICDM_2_1 : public TestCommandBridge { @@ -55412,46 +54590,24 @@ class Test_TC_I_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ReadTheGlobalAttributeAttributeList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 5: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_5(); - break; - case 6: ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 6: Read the optional command(TriggerEffect) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 5 : Step 6: Read the optional command(TriggerEffect) in AcceptedCommandList\n"); if (ShouldSkip("I.S.C40.Rsp")) { NextTest(); return; } - err = TestStep6ReadTheOptionalCommandTriggerEffectInAcceptedCommandList_6(); + err = TestStep6ReadTheOptionalCommandTriggerEffectInAcceptedCommandList_5(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_7(); - break; - case 8: - ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7: Read EventList attribute from the DUT. For this cluster the list is usually empty " - "but it can contain manufacturer specific event IDs.\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestStep7ReadEventListAttributeFromTheDutForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_8(); + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_6(); break; } @@ -55485,12 +54641,6 @@ class Test_TC_I_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -55504,7 +54654,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -55584,7 +54734,6 @@ class Test_TC_I_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -55595,34 +54744,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -55643,7 +54765,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheOptionalCommandTriggerEffectInAcceptedCommandList_6() + CHIP_ERROR TestStep6ReadTheOptionalCommandTriggerEffectInAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -55664,7 +54786,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -55687,17 +54809,6 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - - CHIP_ERROR - TestStep7ReadEventListAttributeFromTheDutForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_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); - } }; class Test_TC_I_2_1 : public TestCommandBridge { @@ -56956,54 +56067,32 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); if (ShouldSkip("ILL.S.A0003")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5(); + err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4(); break; - case 6: + case 5: ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4c: Read the optional attribute(LightSensorType) in AttributeList\n"); + chipTool, " ***** Test Step 5 : Step 4c: Read the optional attribute(LightSensorType) in AttributeList\n"); if (ShouldSkip("ILL.S.A0004")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeLightSensorTypeInAttributeList_6(); + err = TestStep4cReadTheOptionalAttributeLightSensorTypeInAttributeList_5(); break; - case 7: - ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 5: Read EventList attribute from the DUT.For this cluster the list is usually empty but " - "it can contain manufacturer specific event IDs.\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestStep5ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_7(); - break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_8(); + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_6(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_9(); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_7(); break; } @@ -57040,12 +56129,6 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -57059,7 +56142,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 10; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -57146,7 +56229,6 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -57157,37 +56239,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterIlluminanceMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5() + CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57210,7 +56262,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeLightSensorTypeInAttributeList_6() + CHIP_ERROR TestStep4cReadTheOptionalAttributeLightSensorTypeInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57233,18 +56285,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR - TestStep5ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_7() - { - - 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 TestStep6ReadTheGlobalAttributeAcceptedCommandList_8() + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57270,7 +56311,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_9() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57921,8 +56962,8 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { // incorrect mTestIndex value observed when we get the response. switch (mTestIndex++) { case 0: - ChipLogProgress(chipTool, " ***** Test Step 0 : Wait for the commissioned device to be retrieved\n"); - err = TestWaitForTheCommissionedDeviceToBeRetrieved_0(); + ChipLogProgress(chipTool, " ***** Test Step 0 : Step 0: Wait for the commissioned device to be retrieved\n"); + err = TestStep0WaitForTheCommissionedDeviceToBeRetrieved_0(); break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 1: Read the global attribute: ClusterRevision\n"); @@ -57965,117 +57006,97 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3aReadTheGlobalAttributeAttributeList_7(); - break; - case 8: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in " + " ***** Test Step 7 : Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in " "AttributeList\n"); if (ShouldSkip("LVL.S.F01")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_8(); + err = TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_7(); break; - case 9: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in " + " ***** Test Step 8 : Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in " "AttributeList\n"); if (ShouldSkip("LVL.S.F02")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_9(); + err = TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_8(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 3d: Read the optional attribute(MinLevel) in AttributeList\n"); + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 3d: Read the optional attribute(MinLevel) in AttributeList\n"); if (ShouldSkip("LVL.S.A0002")) { NextTest(); return; } - err = TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_10(); + err = TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_9(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 3e: Read the optional attribute(MaxLevel) in AttributeList\n"); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 3e: Read the optional attribute(MaxLevel) in AttributeList\n"); if (ShouldSkip("LVL.S.A0003")) { NextTest(); return; } - err = TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_11(); + err = TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_10(); break; - case 12: + case 11: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList\n"); if (ShouldSkip("LVL.S.A0010")) { NextTest(); return; } - err = TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_12(); + err = TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_11(); break; - case 13: + case 12: ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList\n"); + chipTool, " ***** Test Step 12 : Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList\n"); if (ShouldSkip("LVL.S.A0012")) { NextTest(); return; } - err = TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_13(); + err = TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_12(); break; - case 14: + case 13: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList\n"); + chipTool, " ***** Test Step 13 : Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList\n"); if (ShouldSkip("LVL.S.A0013")) { NextTest(); return; } - err = TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_14(); + err = TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_13(); break; - case 15: + case 14: ChipLogProgress( - chipTool, " ***** Test Step 15 : Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList\n"); + chipTool, " ***** Test Step 14 : Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList\n"); if (ShouldSkip("LVL.S.A0014")) { NextTest(); return; } - err = TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_15(); + err = TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_14(); break; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_16(); + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_15(); break; - case 17: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList\n"); + " ***** Test Step 16 : Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList\n"); if (ShouldSkip("LVL.S.F02")) { NextTest(); return; } - err = TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_17(); + err = TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_16(); break; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4b: Read the global attribute: GeneratedCommandList\n"); - err = TestStep4bReadTheGlobalAttributeGeneratedCommandList_18(); + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the global attribute: GeneratedCommandList\n"); + err = TestStep4bReadTheGlobalAttributeGeneratedCommandList_17(); break; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -58141,12 +57162,6 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -58160,14 +57175,14 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 20; + const uint16_t mTestCount = 18; chip::Optional mNodeId; chip::Optional mCluster; chip::Optional mEndpoint; chip::Optional mTimeout; - CHIP_ERROR TestWaitForTheCommissionedDeviceToBeRetrieved_0() + CHIP_ERROR TestStep0WaitForTheCommissionedDeviceToBeRetrieved_0() { chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; @@ -58298,7 +57313,6 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -58309,35 +57323,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_7() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 15UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_8() + CHIP_ERROR TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58359,7 +57345,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_9() + CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58384,7 +57370,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_10() + CHIP_ERROR TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58405,7 +57391,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_11() + CHIP_ERROR TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58426,7 +57412,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_12() + CHIP_ERROR TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58447,7 +57433,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_13() + CHIP_ERROR TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58468,7 +57454,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_14() + CHIP_ERROR TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58489,7 +57475,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_15() + CHIP_ERROR TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58510,7 +57496,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_16() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58538,7 +57524,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_17() + CHIP_ERROR TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -58559,7 +57545,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheGlobalAttributeGeneratedCommandList_18() + CHIP_ERROR TestStep4bReadTheGlobalAttributeGeneratedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64750,35 +63736,15 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4ThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ThReadsAttributeListFromDut_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 6: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6ThReadsAcceptedCommandListFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6ThReadsAcceptedCommandListFromDut_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7ThReadsGeneratedCommandListFromDut_7(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 7: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7ThReadsGeneratedCommandListFromDut_5(); break; } @@ -64809,12 +63775,6 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -64828,7 +63788,7 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 6; chip::Optional mNodeId; chip::Optional mCluster; @@ -64914,7 +63874,6 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -64925,36 +63884,7 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ThReadsAttributeListFromDut_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterLocalizationConfiguration alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_6() + CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64980,7 +63910,7 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_7() + CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65051,15 +63981,11 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("LUNIT.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads the FeatureMap from DUT\n"); - if (ShouldSkip("LUNIT.S.Afffc && !LUNIT.S.F00")) { + if (ShouldSkip(" !LUNIT.S.F00 ")) { NextTest(); return; } @@ -65068,7 +63994,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { case 3: ChipLogProgress( chipTool, " ***** Test Step 3 : Step 3: Given LUNIT.S.F00(TEMP) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("LUNIT.S.Afffc && LUNIT.S.F00")) { + if (ShouldSkip("LUNIT.S.F00")) { NextTest(); return; } @@ -65076,52 +64002,24 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffb")) { + ChipLogProgress( + chipTool, " ***** Test Step 5 : Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList\n"); + if (ShouldSkip("LUNIT.S.F00")) { NextTest(); return; } - err = TestStep4aThReadsAttributeListFromDut_5(); + err = TestStep4bThReadsFeatureDependentLUNITSF00AttributeInAttributeList_5(); break; case 6: - ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList\n"); - if (ShouldSkip("LUNIT.S.Afffb && LUNIT.S.F00")) { - NextTest(); - return; - } - err = TestStep4bThReadsFeatureDependentLUNITSF00AttributeInAttributeList_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6ThReadsAcceptedCommandListFromDut_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && LUNIT.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip("LUNIT.S.Afff9")) { - NextTest(); - return; - } - err = TestStep6ThReadsAcceptedCommandListFromDut_8(); - break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: TH reads GeneratedCommandList from DUT\n"); - if (ShouldSkip("LUNIT.S.Afff8")) { - NextTest(); - return; - } - err = TestStep7ThReadsGeneratedCommandListFromDut_9(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7ThReadsGeneratedCommandListFromDut_7(); break; } @@ -65158,12 +64056,6 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -65177,7 +64069,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 10; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -65274,7 +64166,6 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -65285,32 +64176,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterUnitLocalization alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bThReadsFeatureDependentLUNITSF00AttributeInAttributeList_6() + CHIP_ERROR TestStep4bThReadsFeatureDependentLUNITSF00AttributeInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65331,7 +64197,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_8() + CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65355,7 +64221,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_9() + CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65775,77 +64641,41 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("LTIME.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: TH reads the FeatureMap from DUT\n"); - if (ShouldSkip("LTIME.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ThReadsTheFeatureMapFromDut_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && LTIME.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && LTIME.S.Afffb")) { + ChipLogProgress(chipTool, + " ***** Test Step 4 : Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT\n"); + if (ShouldSkip("LTIME.S.A0001")) { NextTest(); return; } - err = TestStep4aThReadsAttributeListFromDut_4(); + err = TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_4(); break; case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT\n"); - if (ShouldSkip("LTIME.S.Afffb && LTIME.S.A0001")) { + " ***** Test Step 5 : Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT\n"); + if (ShouldSkip("LTIME.S.A0002")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_5(); + err = TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_5(); break; case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT\n"); - if (ShouldSkip("LTIME.S.Afffb && LTIME.S.A0002")) { - NextTest(); - return; - } - err = TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6ThReadsAcceptedCommandListFromDut_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && LTIME.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip("LTIME.S.Afff9")) { - NextTest(); - return; - } - err = TestStep6ThReadsAcceptedCommandListFromDut_8(); - break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: TH reads GeneratedCommandList from DUT\n"); - if (ShouldSkip("LTIME.S.Afff8")) { - NextTest(); - return; - } - err = TestStep7ThReadsGeneratedCommandListFromDut_9(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7ThReadsGeneratedCommandListFromDut_7(); break; } @@ -65882,12 +64712,6 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -65901,7 +64725,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 10; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -65984,7 +64808,6 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -65995,35 +64818,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_5() + CHIP_ERROR TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66046,7 +64841,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_6() + CHIP_ERROR TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66069,7 +64864,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_8() + CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66095,7 +64890,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_9() + CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66174,36 +64969,16 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3ReadTheGlobalAttributeAttributeList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); - break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_5(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -66233,12 +65008,6 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -66252,7 +65021,7 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 6; chip::Optional mNodeId; chip::Optional mCluster; @@ -66322,36 +65091,6 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterLowPower alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - { - id actualValue = value; - VerifyOrReturn(CheckValue("AttributeList", [actualValue count], static_cast(6))); - VerifyOrReturn(CheckValue("", actualValue[0], 65528UL)); - VerifyOrReturn(CheckValue("", actualValue[1], 65529UL)); - VerifyOrReturn(CheckValue("", actualValue[2], 65530UL)); - VerifyOrReturn(CheckValue("", actualValue[3], 65531UL)); - VerifyOrReturn(CheckValue("", actualValue[4], 65532UL)); - VerifyOrReturn(CheckValue("", actualValue[5], 65533UL)); - } - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3ReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterLowPower alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); @@ -66374,7 +65113,7 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66399,7 +65138,7 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66507,36 +65246,16 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3aReadTheGlobalAttributeAttributeList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_8(); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_8(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_9(); - break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -66575,12 +65294,6 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -66594,7 +65307,7 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -66721,32 +65434,6 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterKeypadInput alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_7() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterKeypadInput alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -66765,7 +65452,7 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_8() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66786,7 +65473,7 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_9() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66872,52 +65559,32 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(CatalogList) in AttributeList\n"); + if (ShouldSkip("APPLAUNCHER.S.A0000")) { NextTest(); return; } - err = TestStep3aReadTheGlobalAttributeAttributeList_5(); + err = TestStep3bReadTheOptionalAttributeCatalogListInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(CatalogList) in AttributeList\n"); - if (ShouldSkip("APPLAUNCHER.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3c: Read the optional attribute(CurrentApp) in AttributeList\n"); + if (ShouldSkip("APPLAUNCHER.S.A0001")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeCatalogListInAttributeList_6(); + err = TestStep3cReadTheOptionalAttributeCurrentAppInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3c: Read the optional attribute(CurrentApp) in AttributeList\n"); - if (ShouldSkip("APPLAUNCHER.S.A0001")) { - NextTest(); - return; - } - err = TestStep3cReadTheOptionalAttributeCurrentAppInAttributeList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_8(); - break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_9(); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_8(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -66956,12 +65623,6 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -66975,7 +65636,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -67077,34 +65738,6 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterApplicationLauncher alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -67123,7 +65756,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeCatalogListInAttributeList_6() + CHIP_ERROR TestStep3bReadTheOptionalAttributeCatalogListInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67146,7 +65779,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentAppInAttributeList_7() + CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentAppInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67169,7 +65802,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_8() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67194,7 +65827,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_9() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67283,52 +65916,32 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(InputList) in AttributeList\n"); + if (ShouldSkip("MEDIAINPUT.S.A0000")) { NextTest(); return; } - err = TestStep3aReadTheGlobalAttributeAttributeList_5(); + err = TestStep3bReadTheOptionalAttributeInputListInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(InputList) in AttributeList\n"); - if (ShouldSkip("MEDIAINPUT.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3c: Read the optional attribute(CurrentInput) in AttributeList\n"); + if (ShouldSkip("MEDIAINPUT.S.A0001")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeInputListInAttributeList_6(); + err = TestStep3cReadTheOptionalAttributeCurrentInputInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3c: Read the optional attribute(CurrentInput) in AttributeList\n"); - if (ShouldSkip("MEDIAINPUT.S.A0001")) { - NextTest(); - return; - } - err = TestStep3cReadTheOptionalAttributeCurrentInputInAttributeList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_8(); - break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_9(); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_8(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -67367,12 +65980,6 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -67386,7 +65993,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -67483,7 +66090,6 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -67494,32 +66100,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterMediaInput alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3bReadTheOptionalAttributeInputListInAttributeList_6() + CHIP_ERROR TestStep3bReadTheOptionalAttributeInputListInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67540,7 +66121,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentInputInAttributeList_7() + CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentInputInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67561,7 +66142,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_8() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67585,7 +66166,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_9() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67662,44 +66243,24 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3b: Read the optional attribute(MACAddress) in AttributeList\n"); + if (ShouldSkip("WAKEONLAN.S.A0000")) { NextTest(); return; } - err = TestStep3aReadTheGlobalAttributeAttributeList_4(); + err = TestStep3bReadTheOptionalAttributeMACAddressInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(MACAddress) in AttributeList\n"); - if (ShouldSkip("WAKEONLAN.S.A0000")) { - NextTest(); - return; - } - err = TestStep3bReadTheOptionalAttributeMACAddressInAttributeList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -67732,12 +66293,6 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -67751,7 +66306,7 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -67821,32 +66376,6 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterWakeOnLAN alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterWakeOnLAN alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -67865,7 +66394,7 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeMACAddressInAttributeList_5() + CHIP_ERROR TestStep3bReadTheOptionalAttributeMACAddressInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67886,7 +66415,7 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67910,7 +66439,7 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68009,95 +66538,75 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3aReadTheGlobalAttributeAttributeList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3b: Read the optional attribute(ChannelList): AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(ChannelList): AttributeList\n"); if (ShouldSkip("CHANNEL.S.A0000")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeChannelListAttributeList_7(); + err = TestStep3bReadTheOptionalAttributeChannelListAttributeList_6(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 3c: Reading optional attribute(Lineup) in AttributeList\n"); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3c: Reading optional attribute(Lineup) in AttributeList\n"); if (ShouldSkip("CHANNEL.S.A0001")) { NextTest(); return; } - err = TestStep3cReadingOptionalAttributeLineupInAttributeList_8(); + err = TestStep3cReadingOptionalAttributeLineupInAttributeList_7(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 3d: Read the optional attribute(CurrentChannel): AttributeList\n"); + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 3d: Read the optional attribute(CurrentChannel): AttributeList\n"); if (ShouldSkip("CHANNEL.S.A0002")) { NextTest(); return; } - err = TestStep3dReadTheOptionalAttributeCurrentChannelAttributeList_9(); + err = TestStep3dReadTheOptionalAttributeCurrentChannelAttributeList_8(); break; - case 10: + case 9: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4a: Read the optional command(ChangeChannel) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 9 : Step 4a: Read the optional command(ChangeChannel) in AcceptedCommandList\n"); if (ShouldSkip("CHANNEL.S.C00.Rsp")) { NextTest(); return; } - err = TestStep4aReadTheOptionalCommandChangeChannelInAcceptedCommandList_10(); + err = TestStep4aReadTheOptionalCommandChangeChannelInAcceptedCommandList_9(); break; - case 11: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4b: Read the optional command(ChangeChannelByNumber) in AcceptedCommandList\n"); + " ***** Test Step 10 : Step 4b: Read the optional command(ChangeChannelByNumber) in AcceptedCommandList\n"); if (ShouldSkip("CHANNEL.S.C02.Rsp")) { NextTest(); return; } - err = TestStep4bReadTheOptionalCommandChangeChannelByNumberInAcceptedCommandList_11(); + err = TestStep4bReadTheOptionalCommandChangeChannelByNumberInAcceptedCommandList_10(); break; - case 12: + case 11: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 4c: Read the optional command(SkipChannel) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 11 : Step 4c: Read the optional command(SkipChannel) in AcceptedCommandList\n"); if (ShouldSkip("CHANNEL.S.C03.Rsp")) { NextTest(); return; } - err = TestStep4cReadTheOptionalCommandSkipChannelInAcceptedCommandList_12(); + err = TestStep4cReadTheOptionalCommandSkipChannelInAcceptedCommandList_11(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5a: Read the global attribute: GeneratedCommandList\n"); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5a: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip("( !CHANNEL.S.F00 && !CHANNEL.S.F01 )")) { NextTest(); return; } - err = TestStep5aReadTheGlobalAttributeGeneratedCommandList_13(); + err = TestStep5aReadTheGlobalAttributeGeneratedCommandList_12(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5b: Read the global attribute: GeneratedCommandList\n"); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5b: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip("CHANNEL.S.F00 || CHANNEL.S.F01")) { NextTest(); return; } - err = TestStep5bReadTheGlobalAttributeGeneratedCommandList_14(); + err = TestStep5bReadTheGlobalAttributeGeneratedCommandList_13(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -68151,12 +66660,6 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -68170,7 +66673,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 16; + const uint16_t mTestCount = 14; chip::Optional mNodeId; chip::Optional mCluster; @@ -68278,32 +66781,6 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterChannel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_6() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterChannel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -68322,7 +66799,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeChannelListAttributeList_7() + CHIP_ERROR TestStep3bReadTheOptionalAttributeChannelListAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68343,7 +66820,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadingOptionalAttributeLineupInAttributeList_8() + CHIP_ERROR TestStep3cReadingOptionalAttributeLineupInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68364,7 +66841,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheOptionalAttributeCurrentChannelAttributeList_9() + CHIP_ERROR TestStep3dReadTheOptionalAttributeCurrentChannelAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68385,7 +66862,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheOptionalCommandChangeChannelInAcceptedCommandList_10() + CHIP_ERROR TestStep4aReadTheOptionalCommandChangeChannelInAcceptedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68406,7 +66883,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalCommandChangeChannelByNumberInAcceptedCommandList_11() + CHIP_ERROR TestStep4bReadTheOptionalCommandChangeChannelByNumberInAcceptedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68427,7 +66904,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalCommandSkipChannelInAcceptedCommandList_12() + CHIP_ERROR TestStep4cReadTheOptionalCommandSkipChannelInAcceptedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68448,7 +66925,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5aReadTheGlobalAttributeGeneratedCommandList_13() + CHIP_ERROR TestStep5aReadTheGlobalAttributeGeneratedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68472,7 +66949,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5bReadTheGlobalAttributeGeneratedCommandList_14() + CHIP_ERROR TestStep5bReadTheGlobalAttributeGeneratedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68568,157 +67045,137 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3aReadTheGlobalAttributeAttributeList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3b: Read the optional attribute(StartTime) in AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(StartTime) in AttributeList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.A0001")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeStartTimeInAttributeList_7(); + err = TestStep3bReadTheOptionalAttributeStartTimeInAttributeList_6(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 3c: Read the optional attribute(Duration) in AttributeList\n"); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3c: Read the optional attribute(Duration) in AttributeList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.A0002")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeDurationInAttributeList_8(); + err = TestStep3cReadTheOptionalAttributeDurationInAttributeList_7(); break; - case 9: + case 8: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 3d: Read the optional attribute(SampledPosition) in AttributeList\n"); + chipTool, " ***** Test Step 8 : Step 3d: Read the optional attribute(SampledPosition) in AttributeList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.A0003")) { NextTest(); return; } - err = TestStep3dReadTheOptionalAttributeSampledPositionInAttributeList_9(); + err = TestStep3dReadTheOptionalAttributeSampledPositionInAttributeList_8(); break; - case 10: + case 9: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 3e: Read the optional attribute(PlaybackSpeed) in AttributeList\n"); + chipTool, " ***** Test Step 9 : Step 3e: Read the optional attribute(PlaybackSpeed) in AttributeList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.A0004")) { NextTest(); return; } - err = TestStep3eReadTheOptionalAttributePlaybackSpeedInAttributeList_10(); + err = TestStep3eReadTheOptionalAttributePlaybackSpeedInAttributeList_9(); break; - case 11: + case 10: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 3f: Read the optional attribute(SeekRangeEnd) in AttributeList\n"); + chipTool, " ***** Test Step 10 : Step 3f: Read the optional attribute(SeekRangeEnd) in AttributeList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.A0005")) { NextTest(); return; } - err = TestStep3fReadTheOptionalAttributeSeekRangeEndInAttributeList_11(); + err = TestStep3fReadTheOptionalAttributeSeekRangeEndInAttributeList_10(); break; - case 12: + case 11: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 3g: Read the optional attribute(SeekRangeStart) in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 3g: Read the optional attribute(SeekRangeStart) in AttributeList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.A0006")) { NextTest(); return; } - err = TestStep3gReadTheOptionalAttributeSeekRangeStartInAttributeList_12(); + err = TestStep3gReadTheOptionalAttributeSeekRangeStartInAttributeList_11(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_13(); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_12(); break; - case 14: + case 13: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 4b: Read the optional command(StartOver) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 13 : Step 4b: Read the optional command(StartOver) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C03.Rsp")) { NextTest(); return; } - err = TestStep4bReadTheOptionalCommandStartOverInAcceptedCommandList_14(); + err = TestStep4bReadTheOptionalCommandStartOverInAcceptedCommandList_13(); break; - case 15: + case 14: ChipLogProgress( - chipTool, " ***** Test Step 15 : Step 4c: Read the optional command(Previous) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 14 : Step 4c: Read the optional command(Previous) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C04.Rsp")) { NextTest(); return; } - err = TestStep4cReadTheOptionalCommandPreviousInAcceptedCommandList_15(); + err = TestStep4cReadTheOptionalCommandPreviousInAcceptedCommandList_14(); break; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4d: Read the optional command(Next) in AcceptedCommandList\n"); + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4d: Read the optional command(Next) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C05.Rsp")) { NextTest(); return; } - err = TestStep4dReadTheOptionalCommandNextInAcceptedCommandList_16(); + err = TestStep4dReadTheOptionalCommandNextInAcceptedCommandList_15(); break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4e: Read the optional command(Rewind) in AcceptedCommandList\n"); + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4e: Read the optional command(Rewind) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestStep4eReadTheOptionalCommandRewindInAcceptedCommandList_17(); + err = TestStep4eReadTheOptionalCommandRewindInAcceptedCommandList_16(); break; - case 18: + case 17: ChipLogProgress( - chipTool, " ***** Test Step 18 : Step 4f: Read the optional command(FastForward) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 17 : Step 4f: Read the optional command(FastForward) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } - err = TestStep4fReadTheOptionalCommandFastForwardInAcceptedCommandList_18(); + err = TestStep4fReadTheOptionalCommandFastForwardInAcceptedCommandList_17(); break; - case 19: + case 18: ChipLogProgress( - chipTool, " ***** Test Step 19 : Step 4g: Read the optional command(SkipForward) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 18 : Step 4g: Read the optional command(SkipForward) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C08.Rsp")) { NextTest(); return; } - err = TestStep4gReadTheOptionalCommandSkipForwardInAcceptedCommandList_19(); + err = TestStep4gReadTheOptionalCommandSkipForwardInAcceptedCommandList_18(); break; - case 20: + case 19: ChipLogProgress( - chipTool, " ***** Test Step 20 : Step 4h: Read the optional command(SkipBackward) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 19 : Step 4h: Read the optional command(SkipBackward) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C09.Rsp")) { NextTest(); return; } - err = TestStep4hReadTheOptionalCommandSkipBackwardInAcceptedCommandList_20(); + err = TestStep4hReadTheOptionalCommandSkipBackwardInAcceptedCommandList_19(); break; - case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4i: Read the optional command(Seek) in AcceptedCommandList\n"); + case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4i: Read the optional command(Seek) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C0b.Rsp")) { NextTest(); return; } - err = TestStep4iReadTheOptionalCommandSeekInAcceptedCommandList_21(); + err = TestStep4iReadTheOptionalCommandSeekInAcceptedCommandList_20(); break; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_22(); + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_21(); break; - case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -68796,12 +67253,6 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 22: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 23: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -68815,7 +67266,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 24; + const uint16_t mTestCount = 22; chip::Optional mNodeId; chip::Optional mCluster; @@ -68923,33 +67374,6 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterMediaPlayback alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_6() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterMediaPlayback alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -68969,7 +67393,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeStartTimeInAttributeList_7() + CHIP_ERROR TestStep3bReadTheOptionalAttributeStartTimeInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68990,7 +67414,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeDurationInAttributeList_8() + CHIP_ERROR TestStep3cReadTheOptionalAttributeDurationInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69011,7 +67435,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheOptionalAttributeSampledPositionInAttributeList_9() + CHIP_ERROR TestStep3dReadTheOptionalAttributeSampledPositionInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69032,7 +67456,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3eReadTheOptionalAttributePlaybackSpeedInAttributeList_10() + CHIP_ERROR TestStep3eReadTheOptionalAttributePlaybackSpeedInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69053,7 +67477,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3fReadTheOptionalAttributeSeekRangeEndInAttributeList_11() + CHIP_ERROR TestStep3fReadTheOptionalAttributeSeekRangeEndInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69074,7 +67498,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3gReadTheOptionalAttributeSeekRangeStartInAttributeList_12() + CHIP_ERROR TestStep3gReadTheOptionalAttributeSeekRangeStartInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69095,7 +67519,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_13() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69118,7 +67542,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalCommandStartOverInAcceptedCommandList_14() + CHIP_ERROR TestStep4bReadTheOptionalCommandStartOverInAcceptedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69139,7 +67563,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalCommandPreviousInAcceptedCommandList_15() + CHIP_ERROR TestStep4cReadTheOptionalCommandPreviousInAcceptedCommandList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69160,7 +67584,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalCommandNextInAcceptedCommandList_16() + CHIP_ERROR TestStep4dReadTheOptionalCommandNextInAcceptedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69181,7 +67605,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalCommandRewindInAcceptedCommandList_17() + CHIP_ERROR TestStep4eReadTheOptionalCommandRewindInAcceptedCommandList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69202,7 +67626,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalCommandFastForwardInAcceptedCommandList_18() + CHIP_ERROR TestStep4fReadTheOptionalCommandFastForwardInAcceptedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69223,7 +67647,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheOptionalCommandSkipForwardInAcceptedCommandList_19() + CHIP_ERROR TestStep4gReadTheOptionalCommandSkipForwardInAcceptedCommandList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69244,7 +67668,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalCommandSkipBackwardInAcceptedCommandList_20() + CHIP_ERROR TestStep4hReadTheOptionalCommandSkipBackwardInAcceptedCommandList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69265,7 +67689,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iReadTheOptionalCommandSeekInAcceptedCommandList_21() + CHIP_ERROR TestStep4iReadTheOptionalCommandSeekInAcceptedCommandList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69286,7 +67710,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_22() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69372,36 +67796,16 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3ReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3ReadTheGlobalAttributeAttributeList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -69434,12 +67838,6 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -69453,7 +67851,7 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -69547,7 +67945,6 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -69558,34 +67955,7 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3ReadTheGlobalAttributeAttributeList_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterAudioOutput alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69606,7 +67976,7 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69683,45 +68053,25 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3aReadTheGlobalAttributeAttributeList_4(); - break; - case 5: ChipLogProgress( - chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(CurrentTarget) in AttributeList\n"); + chipTool, " ***** Test Step 4 : Step 3b: Read the optional attribute(CurrentTarget) in AttributeList\n"); if (ShouldSkip("TGTNAV.S.A0001")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeCurrentTargetInAttributeList_5(); + err = TestStep3bReadTheOptionalAttributeCurrentTargetInAttributeList_4(); break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_6(); + case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_7(); + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -69754,12 +68104,6 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -69773,7 +68117,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -69843,33 +68187,6 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterTargetNavigator alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterTargetNavigator alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -69889,7 +68206,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeCurrentTargetInAttributeList_5() + CHIP_ERROR TestStep3bReadTheOptionalAttributeCurrentTargetInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69910,7 +68227,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69931,7 +68248,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70005,60 +68322,40 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3b: Read the optional attribute(VendorName) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0000")) { NextTest(); return; } - err = TestStep3aReadTheGlobalAttributeAttributeList_4(); + err = TestStep3bReadTheOptionalAttributeVendorNameInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(VendorName) in AttributeList\n"); - if (ShouldSkip("APBSC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3c: Read the optional attribute(VendorID) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0001")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeVendorNameInAttributeList_5(); + err = TestStep3cReadTheOptionalAttributeVendorIDInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3c: Read the optional attribute(VendorID) in AttributeList\n"); - if (ShouldSkip("APBSC.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3d: Read the optional attribute(ProductID) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0003")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeVendorIDInAttributeList_6(); + err = TestStep3dReadTheOptionalAttributeProductIDInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3d: Read the optional attribute(ProductID) in AttributeList\n"); - if (ShouldSkip("APBSC.S.A0003")) { - NextTest(); - return; - } - err = TestStep3dReadTheOptionalAttributeProductIDInAttributeList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_8(); - break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_9(); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_8(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -70097,12 +68394,6 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 10: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -70116,7 +68407,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -70199,7 +68490,6 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -70210,37 +68500,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterApplicationBasic alloc] initWithDevice:device endpointID:@(3) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 6UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3bReadTheOptionalAttributeVendorNameInAttributeList_5() + CHIP_ERROR TestStep3bReadTheOptionalAttributeVendorNameInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70261,7 +68521,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeVendorIDInAttributeList_6() + CHIP_ERROR TestStep3cReadTheOptionalAttributeVendorIDInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70282,7 +68542,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheOptionalAttributeProductIDInAttributeList_7() + CHIP_ERROR TestStep3dReadTheOptionalAttributeProductIDInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70303,7 +68563,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_8() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70327,7 +68587,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_9() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70426,67 +68686,47 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3aReadTheGlobalAttributeAttributeList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3b: Read the optional attribute(AcceptHeader): AttributeList\n"); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(AcceptHeader): AttributeList\n"); if (ShouldSkip("CONTENTLAUNCHER.S.A0000")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeAcceptHeaderAttributeList_7(); + err = TestStep3bReadTheOptionalAttributeAcceptHeaderAttributeList_6(); break; - case 8: + case 7: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 3c: Read the optional attribute(SupportedStreamingProtocols): AttributeList\n"); + " ***** Test Step 7 : Step 3c: Read the optional attribute(SupportedStreamingProtocols): AttributeList\n"); if (ShouldSkip("CONTENTLAUNCHER.S.A0001")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeSupportedStreamingProtocolsAttributeList_8(); + err = TestStep3cReadTheOptionalAttributeSupportedStreamingProtocolsAttributeList_7(); break; - case 9: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4a: Read the optional command(LaunchContent) in AcceptedCommandList attribute\n"); + " ***** Test Step 8 : Step 4a: Read the optional command(LaunchContent) in AcceptedCommandList attribute\n"); if (ShouldSkip("CONTENTLAUNCHER.C.C00.Tx")) { NextTest(); return; } - err = TestStep4aReadTheOptionalCommandLaunchContentInAcceptedCommandListAttribute_9(); + err = TestStep4aReadTheOptionalCommandLaunchContentInAcceptedCommandListAttribute_8(); break; - case 10: + case 9: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4b: Read the optional command(LaunchURL) in AcceptedCommandList attribute\n"); + chipTool, " ***** Test Step 9 : Step 4b: Read the optional command(LaunchURL) in AcceptedCommandList attribute\n"); if (ShouldSkip("CONTENTLAUNCHER.C.C01.Tx")) { NextTest(); return; } - err = TestStep4bReadTheOptionalCommandLaunchURLInAcceptedCommandListAttribute_10(); + err = TestStep4bReadTheOptionalCommandLaunchURLInAcceptedCommandListAttribute_9(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_11(); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_10(); break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -70531,12 +68771,6 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -70550,7 +68784,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 13; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -70658,32 +68892,6 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterContentLauncher alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_6() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterContentLauncher alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -70702,7 +68910,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeAcceptHeaderAttributeList_7() + CHIP_ERROR TestStep3bReadTheOptionalAttributeAcceptHeaderAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70723,7 +68931,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeSupportedStreamingProtocolsAttributeList_8() + CHIP_ERROR TestStep3cReadTheOptionalAttributeSupportedStreamingProtocolsAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70744,7 +68952,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheOptionalCommandLaunchContentInAcceptedCommandListAttribute_9() + CHIP_ERROR TestStep4aReadTheOptionalCommandLaunchContentInAcceptedCommandListAttribute_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70765,7 +68973,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalCommandLaunchURLInAcceptedCommandListAttribute_10() + CHIP_ERROR TestStep4bReadTheOptionalCommandLaunchURLInAcceptedCommandListAttribute_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70786,7 +68994,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_11() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -70860,36 +69068,16 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep3ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep3ReadTheGlobalAttributeAttributeList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); - break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_5(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: TH reads EventList attribute from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -70919,12 +69107,6 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -70938,7 +69120,7 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 6; chip::Optional mNodeId; chip::Optional mCluster; @@ -71008,32 +69190,6 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterAccountLogin alloc] initWithDevice:device endpointID:@(3) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep3ReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterAccountLogin alloc] initWithDevice:device endpointID:@(3) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); @@ -71052,7 +69208,7 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -71075,7 +69231,7 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -78864,53 +77020,74 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, + " ***** Test Step 5 : Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT\n"); + if (ShouldSkip("MOD.S.A0004")) { NextTest(); return; } - err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_5(); + err = TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_5(); break; case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT\n"); - if (ShouldSkip("MOD.S.A0004")) { + ChipLogProgress( + chipTool, " ***** Test Step 6 : Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT\n"); + if (ShouldSkip("MOD.S.A0005")) { NextTest(); return; } - err = TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_6(); + err = TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_6(); break; case 7: - ChipLogProgress( - chipTool, " ***** Test Step 7 : Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT\n"); - if (ShouldSkip("MOD.S.A0005")) { + ChipLogProgress(chipTool, + " ***** Test Step 7 : Step 4d: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_7(); + err = TestStep4dThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: TH reads AcceptedCommandList attribute from DUT\n"); + err = TestStep6aThReadsAcceptedCommandListAttributeFromDut_8(); + break; + case 9: + ChipLogProgress(chipTool, + " ***** Test Step 9 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " + "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_9(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_10(); + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); + err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_10(); + break; + case 11: + ChipLogProgress(chipTool, + " ***** Test Step 11 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); break; } @@ -78956,6 +77133,9 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -78969,7 +77149,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 12; chip::Optional mNodeId; chip::Optional mCluster; @@ -79049,36 +77229,6 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterModeSelect alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aThReadsTheAttributeListAttributeFromTheDut_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterModeSelect alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); @@ -79101,7 +77251,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_6() + CHIP_ERROR TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -79122,7 +77272,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_7() + CHIP_ERROR TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -79143,7 +77293,18 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_9() + CHIP_ERROR + TestStep4dThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + { + + 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 TestStep6aThReadsAcceptedCommandListAttributeFromDut_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -79151,7 +77312,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 5: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: TH reads AcceptedCommandList attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -79164,7 +77325,18 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_10() + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + { + + 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 TestStep7aThReadsGeneratedCommandListAttributeFromDut_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -79172,7 +77344,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: TH reads GeneratedCommandList attribute from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -79187,6 +77359,17 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class OTA_SuccessfulTransfer : public TestCommandBridge { @@ -79576,35 +77759,15 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ReadTheGlobalAttributeAttributeList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_5(); break; } @@ -79635,12 +77798,6 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 6: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -79654,7 +77811,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 6; chip::Optional mNodeId; chip::Optional mCluster; @@ -79735,7 +77892,6 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -79746,35 +77902,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -79798,7 +77926,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -80557,55 +78685,74 @@ class Test_TC_OO_1_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress( + chipTool, " ***** Test Step 6 : Step 4b: Read the feature dependent(OO.S.F00) attribute in AttributeList\n"); + if (ShouldSkip("OO.S.F00")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_6(); + err = TestStep4bReadTheFeatureDependentOOSF00AttributeInAttributeList_6(); break; case 7: + ChipLogProgress(chipTool, + " ***** Test Step 7 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_8(); + break; + case 9: ChipLogProgress( - chipTool, " ***** Test Step 7 : Step 4b: Read the feature dependent(OO.S.F00) attribute in AttributeList\n"); + chipTool, " ***** Test Step 9 : Step 6b: Read the feature dependent(OO.S.F00) commands in AcceptedCommandList\n"); if (ShouldSkip("OO.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentOOSF00AttributeInAttributeList_7(); + err = TestStep6bReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_9(); break; - case 8: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 5: Read EventList attribute from the DUT.For this cluster the list is usually empty but " - "it can contain manufacturer specific event IDs.\n"); + " ***** Test Step 10 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " + "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_8(); + err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_9(); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_11(); break; - case 10: - ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 6b: Read the feature dependent(OO.S.F00) commands in AcceptedCommandList\n"); - if (ShouldSkip("OO.S.F00")) { + case 12: + ChipLogProgress(chipTool, + " ***** Test Step 12 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6bReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_10(); - break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_11(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; } @@ -80654,6 +78801,9 @@ class Test_TC_OO_1_1 : public TestCommandBridge { case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -80667,7 +78817,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 12; + const uint16_t mTestCount = 13; chip::Optional mNodeId; chip::Optional mCluster; @@ -80773,33 +78923,6 @@ class Test_TC_OO_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_6() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -80819,7 +78942,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentOOSF00AttributeInAttributeList_7() + CHIP_ERROR TestStep4bReadTheFeatureDependentOOSF00AttributeInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -80844,7 +78967,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep5ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_8() + TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -80854,7 +78977,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_9() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -80877,7 +79000,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_10() + CHIP_ERROR TestStep6bReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -80900,7 +79023,18 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_11() + CHIP_ERROR + TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -80908,7 +79042,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -80923,6 +79057,17 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_OO_2_1 : public TestCommandBridge { @@ -82793,86 +80938,104 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, + " ***** Test Step 4 : Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList " + "from the DUT\n"); + if (ShouldSkip("OPSTATE.S.A0002")) { NextTest(); return; } - err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_4(); + err = TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_4(); break; case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList " - "from the DUT\n"); - if (ShouldSkip("OPSTATE.S.A0002")) { + " ***** Test Step 5 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_5(); + err = TestStep4cThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5a: TH reads from the DUT the EventList attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6a: Read the optional command(Start) in AcceptedCommandList\n"); + if (ShouldSkip("OPSTATE.S.C02")) { NextTest(); return; } - NextTest(); - return; + err = TestStep6aReadTheOptionalCommandStartInAcceptedCommandList_6(); + break; case 7: - ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 5b: TH reads from the DUT the optional event(OperationCompletion) in EventList.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && OPSTATE.S.E01")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); + if (ShouldSkip("OPSTATE.S.C01")) { NextTest(); return; } - NextTest(); - return; + err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_7(); + break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: Read the optional command(Start) in AcceptedCommandList\n"); - if (ShouldSkip("OPSTATE.S.C02")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6c: Read the optional command(Pause) in AcceptedCommandList\n"); + if (ShouldSkip("OPSTATE.S.C00")) { NextTest(); return; } - err = TestStep6aReadTheOptionalCommandStartInAcceptedCommandList_8(); + err = TestStep6cReadTheOptionalCommandPauseInAcceptedCommandList_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); - if (ShouldSkip("OPSTATE.S.C01")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); + if (ShouldSkip("OPSTATE.S.C03")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_9(); + err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6c: Read the optional command(Pause) in AcceptedCommandList\n"); - if (ShouldSkip("OPSTATE.S.C00")) { + ChipLogProgress(chipTool, + " ***** Test Step 10 : Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6cReadTheOptionalCommandPauseInAcceptedCommandList_10(); + err = TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); - if (ShouldSkip("OPSTATE.S.C03")) { + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + if (ShouldSkip("!OPSTATE.S.C00 || !OPSTATE.S.C01 || !OPSTATE.S.C02 || !OPSTATE.S.C03")) { NextTest(); return; } - err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_11(); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 7: Read the global attribute: GeneratedCommandList\n"); + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 7a: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip("(OPSTATE.S.C00 || OPSTATE.S.C01 || OPSTATE.S.C02 || OPSTATE.S.C03)")) { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_12(); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_12(); + break; + case 13: + ChipLogProgress(chipTool, + " ***** Test Step 13 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); break; } @@ -82924,6 +81087,9 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -82937,7 +81103,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 13; + const uint16_t mTestCount = 14; chip::Optional mNodeId; chip::Optional mCluster; @@ -83020,7 +81186,6 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -83031,7 +81196,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsTheAttributeListAttributeFromTheDut_4() + CHIP_ERROR TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83039,21 +81204,14 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); + NSLog( + @"Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT Error: %@", + err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); NextTest(); }]; @@ -83061,22 +81219,32 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_5() + CHIP_ERROR + TestStep4cThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + { + + 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 TestStep6aReadTheOptionalCommandStartInAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); __auto_type * cluster = [[MTRBaseClusterOperationalState alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog( - @"Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT Error: %@", - err); + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 6a: Read the optional command(Start) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL)); NextTest(); }]; @@ -83084,7 +81252,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheOptionalCommandStartInAcceptedCommandList_8() + CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83092,13 +81260,12 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6a: Read the optional command(Start) in AcceptedCommandList Error: %@", err); + NSLog(@"Step 6b: Read the optional command(Stop) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL)); NextTest(); }]; @@ -83106,7 +81273,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_9() + CHIP_ERROR TestStep6cReadTheOptionalCommandPauseInAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83114,12 +81281,13 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6b: Read the optional command(Stop) in AcceptedCommandList Error: %@", err); + NSLog(@"Step 6c: Read the optional command(Pause) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 3UL)); NextTest(); }]; @@ -83127,7 +81295,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadTheOptionalCommandPauseInAcceptedCommandList_10() + CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83135,7 +81303,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6c: Read the optional command(Pause) in AcceptedCommandList Error: %@", err); + NSLog(@"Step 6d: Read the optional command(Resume) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -83149,29 +81317,42 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_11() + CHIP_ERROR + TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); __auto_type * cluster = [[MTRBaseClusterOperationalState alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6d: Read the optional command(Resume) in AcceptedCommandList Error: %@", err); + [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 3UL)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); + } + VerifyOrReturn(CheckConstraintType("generatedCommandList", "list", "list")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_12() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83179,7 +81360,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -83191,6 +81372,17 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_PS_1_1 : public TestCommandBridge { @@ -83285,105 +81477,51 @@ class Test_TC_PS_1_1 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4ReadTheGlobalAttributeAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ReadTheGlobalAttributeAttributeList_8(); - break; - case 9: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList\n"); + chipTool, " ***** Test Step 8 : Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList\n"); if (ShouldSkip("PS.S.F00")) { NextTest(); return; } - err = TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_9(); + err = TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_8(); break; - case 10: + case 9: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList\n"); + chipTool, " ***** Test Step 9 : Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList\n"); if (ShouldSkip("PS.S.F01")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_10(); + err = TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_9(); break; - case 11: + case 10: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList\n"); + chipTool, " ***** Test Step 10 : Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList\n"); if (ShouldSkip("PS.S.F02")) { NextTest(); return; } - err = TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_11(); + err = TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_10(); break; - case 12: + case 11: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList\n"); if (ShouldSkip("PS.S.F03")) { NextTest(); return; } - err = TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_12(); - break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_13(); + err = TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_11(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_14(); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_12(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 ")) { - NextTest(); - return; - } - NextTest(); - return; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E00")) { - NextTest(); - return; - } - NextTest(); - return; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 7c: Read PS.S.E01(BatFaultChange) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E01")) { - NextTest(); - return; - } - NextTest(); - return; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E02")) { - NextTest(); - return; - } - NextTest(); - return; - case 19: - ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 7e: Read EventList attribute from the DUT.For this cluster the list is usually empty " - "but it can contain manufacturer specific event IDs.\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestStep7eReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_19(); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 6: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_13(); break; } @@ -83438,24 +81576,6 @@ class Test_TC_PS_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -83469,7 +81589,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 20; + const uint16_t mTestCount = 14; chip::Optional mNodeId; chip::Optional mCluster; @@ -83615,36 +81735,6 @@ class Test_TC_PS_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterPowerSource alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 31UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_8() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterPowerSource alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); @@ -83667,7 +81757,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_9() + CHIP_ERROR TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83688,7 +81778,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_10() + CHIP_ERROR TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83711,7 +81801,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_11() + CHIP_ERROR TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83733,7 +81823,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_12() + CHIP_ERROR TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83755,7 +81845,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_13() + CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83779,7 +81869,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_14() + CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83802,17 +81892,6 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - - CHIP_ERROR - TestStep7eReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_19() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } }; class Test_TC_PS_2_1 : public TestCommandBridge { @@ -84727,7 +82806,7 @@ class Test_TC_PS_2_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("batCommonDesignation", "enum16", "int32u")); + VerifyOrReturn(CheckConstraintType("batCommonDesignation", "enum16", "enum16")); VerifyOrReturn(CheckConstraintMinValue("batCommonDesignation", [value unsignedShortValue], 0U)); VerifyOrReturn(CheckConstraintMaxValue("batCommonDesignation", [value unsignedShortValue], 80U)); @@ -84789,7 +82868,7 @@ class Test_TC_PS_2_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("batApprovedChemistry", "enum16", "int32u")); + VerifyOrReturn(CheckConstraintType("batApprovedChemistry", "enum16", "enum16")); VerifyOrReturn(CheckConstraintMinValue("batApprovedChemistry", [value unsignedShortValue], 0U)); VerifyOrReturn(CheckConstraintMaxValue("batApprovedChemistry", [value unsignedShortValue], 32U)); @@ -85018,148 +83097,119 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n"); - if (ShouldSkip("PRS.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ReadTheGlobalAttributeClusterRevision_1(); break; case 2: - ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: Read the global attribute: FeatureMap\n"); - if (ShouldSkip("PRS.S.Afffc && !PRS.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n"); + if (ShouldSkip(" !PRS.S.F00 ")) { NextTest(); return; } - err = TestStep3aReadTheGlobalAttributeFeatureMap_2(); + err = TestStep3ReadTheGlobalAttributeFeatureMap_2(); break; case 3: ChipLogProgress( - chipTool, " ***** Test Step 3 : Step 3b: Given PRS.S.F00(EXT) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("PRS.S.F00 && PRS.S.Afffc")) { + chipTool, " ***** Test Step 3 : Step 3: Given PRS.S.F00(EXT) ensure featuremap has the correct bit set\n"); + if (ShouldSkip("PRS.S.F00")) { NextTest(); return; } - err = TestStep3bGivenPrssf00extEnsureFeaturemapHasTheCorrectBitSet_3(); + err = TestStep3GivenPrssf00extEnsureFeaturemapHasTheCorrectBitSet_3(); break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global mandatory attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PRS.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalMandatoryAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: Read the global mandatory attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && PRS.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(ScaledValue) in AttributeList\n"); + if (ShouldSkip("PRS.S.A0010")) { NextTest(); return; } - err = TestStep4aReadTheGlobalMandatoryAttributeAttributeList_5(); + err = TestStep4bReadTheOptionalAttributeScaledValueInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4b: Read the optional attribute(ScaledValue) in AttributeList\n"); - if (ShouldSkip("PRS.S.A0010 && PRS.S.Afffb")) { + ChipLogProgress( + chipTool, " ***** Test Step 6 : Step 4c: Read the optional attribute(MinScaledValue) in AttributeList\n"); + if (ShouldSkip("PRS.S.A0011")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeScaledValueInAttributeList_6(); + err = TestStep4cReadTheOptionalAttributeMinScaledValueInAttributeList_6(); break; case 7: ChipLogProgress( - chipTool, " ***** Test Step 7 : Step 4c: Read the optional attribute(MinScaledValue) in AttributeList\n"); - if (ShouldSkip("PRS.S.A0011 && PRS.S.Afffb")) { + chipTool, " ***** Test Step 7 : Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList\n"); + if (ShouldSkip("PRS.S.A0012")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeMinScaledValueInAttributeList_7(); + err = TestStep4dReadTheOptionalAttributeMaxScaledValueInAttributeList_7(); break; case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList\n"); - if (ShouldSkip("PRS.S.A0012 && PRS.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4e: Read the optional attribute(Scale) in AttributeList\n"); + if (ShouldSkip("PRS.S.A0014")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeMaxScaledValueInAttributeList_8(); + err = TestStep4eReadTheOptionalAttributeScaleInAttributeList_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4e: Read the optional attribute(Scale) in AttributeList\n"); - if (ShouldSkip("PRS.S.A0014 && PRS.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4f: Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("PRS.S.A0003")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeScaleInAttributeList_9(); + err = TestStep4fReadTheOptionalAttributeToleranceInAttributeList_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4f: Read the optional attribute(Tolerance) in AttributeList\n"); - if (ShouldSkip("PRS.S.A0003 && PRS.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4fReadTheOptionalAttributeToleranceInAttributeList_10(); - break; - case 11: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList\n"); - if (ShouldSkip("PRS.S.A0013 && PRS.S.Afffb")) { + chipTool, " ***** Test Step 10 : Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList\n"); + if (ShouldSkip("PRS.S.A0013")) { NextTest(); return; } - err = TestStep4gReadTheOptionalAttributeScaledToleranceInAttributeList_11(); + err = TestStep4gReadTheOptionalAttributeScaledToleranceInAttributeList_10(); break; - case 12: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 11 : Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PRS.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); - break; - case 13: - ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 5: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PRS.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + err = TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); break; - case 14: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 12 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PRS.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; - case 15: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 13 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PRS.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); break; } @@ -85214,12 +83264,6 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -85233,7 +83277,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 16; + const uint16_t mTestCount = 14; chip::Optional mNodeId; chip::Optional mCluster; @@ -85274,7 +83318,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3aReadTheGlobalAttributeFeatureMap_2() + CHIP_ERROR TestStep3ReadTheGlobalAttributeFeatureMap_2() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85284,7 +83328,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3a: Read the global attribute: FeatureMap Error: %@", err); + NSLog(@"Step 3: Read the global attribute: FeatureMap Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -85300,7 +83344,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bGivenPrssf00extEnsureFeaturemapHasTheCorrectBitSet_3() + CHIP_ERROR TestStep3GivenPrssf00extEnsureFeaturemapHasTheCorrectBitSet_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85310,7 +83354,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeFeatureMapWithCompletion:^(NSNumber * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 3b: Given PRS.S.F00(EXT) ensure featuremap has the correct bit set Error: %@", err); + NSLog(@"Step 3: Given PRS.S.F00(EXT) ensure featuremap has the correct bit set Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -85330,37 +83374,6 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global mandatory attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalMandatoryAttributeAttributeList_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterPressureMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global mandatory attribute: AttributeList Error: %@", err); @@ -85382,7 +83395,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeScaledValueInAttributeList_6() + CHIP_ERROR TestStep4bReadTheOptionalAttributeScaledValueInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85405,7 +83418,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeMinScaledValueInAttributeList_7() + CHIP_ERROR TestStep4cReadTheOptionalAttributeMinScaledValueInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85428,7 +83441,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeMaxScaledValueInAttributeList_8() + CHIP_ERROR TestStep4dReadTheOptionalAttributeMaxScaledValueInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85451,7 +83464,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeScaleInAttributeList_9() + CHIP_ERROR TestStep4eReadTheOptionalAttributeScaleInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85474,7 +83487,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalAttributeToleranceInAttributeList_10() + CHIP_ERROR TestStep4fReadTheOptionalAttributeToleranceInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85497,7 +83510,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheOptionalAttributeScaledToleranceInAttributeList_11() + CHIP_ERROR TestStep4gReadTheOptionalAttributeScaledToleranceInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85521,18 +83534,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() - { - - 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 - TestStep5ThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -85543,7 +83545,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -85554,7 +83556,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -86236,16 +84238,11 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision attribute from the DUT\n"); - if (ShouldSkip("PCC.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionAttributeFromTheDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads the FeatureMap attribute from the DUT\n"); - if (ShouldSkip(" PCC.S.Afffc && !PCC.S.F00 && !PCC.S.F01 && !PCC.S.F02 && !PCC.S.F03 && !PCC.S.F04 && !PCC.S.F05 && " - "!PCC.S.F06 ")) { + if (ShouldSkip(" !PCC.S.F00 && !PCC.S.F01 && !PCC.S.F02 && !PCC.S.F03 && !PCC.S.F04 && !PCC.S.F05 && !PCC.S.F06 ")) { NextTest(); return; } @@ -86254,7 +84251,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 3: ChipLogProgress( chipTool, " ***** Test Step 3 : Step 3b: Given PCC.S.F00(PRSCONST) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("PCC.S.F00 && PCC.S.Afffc")) { + if (ShouldSkip("PCC.S.F00")) { NextTest(); return; } @@ -86263,7 +84260,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 4: ChipLogProgress( chipTool, " ***** Test Step 4 : Step 3c: Given PCC.S.F01(PRSCOMP) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("PCC.S.F01 && PCC.S.Afffc")) { + if (ShouldSkip("PCC.S.F01")) { NextTest(); return; } @@ -86272,7 +84269,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 5: ChipLogProgress( chipTool, " ***** Test Step 5 : Step 3d: Given PCC.S.F02(FLW) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("PCC.S.F02 && PCC.S.Afffc")) { + if (ShouldSkip("PCC.S.F02")) { NextTest(); return; } @@ -86281,7 +84278,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 6: ChipLogProgress( chipTool, " ***** Test Step 6 : Step 3e: Given PCC.S.F03(SPD) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("PCC.S.F03 && PCC.S.Afffc")) { + if (ShouldSkip("PCC.S.F03")) { NextTest(); return; } @@ -86290,7 +84287,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 7: ChipLogProgress( chipTool, " ***** Test Step 7 : Step 3f: Given PCC.S.F04(TEMP) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("PCC.S.F04 && PCC.S.Afffc")) { + if (ShouldSkip("PCC.S.F04")) { NextTest(); return; } @@ -86299,7 +84296,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 8: ChipLogProgress( chipTool, " ***** Test Step 8 : Step 3g: Given PCC.S.F05(AUTO) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("PCC.S.F05 && PCC.S.Afffc")) { + if (ShouldSkip("PCC.S.F05")) { NextTest(); return; } @@ -86308,7 +84305,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 9: ChipLogProgress( chipTool, " ***** Test Step 9 : Step 3h: Given PCC.S.F06(LOCAL) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("PCC.S.F06 && PCC.S.Afffc")) { + if (ShouldSkip("PCC.S.F06")) { NextTest(); return; } @@ -86316,394 +84313,203 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && PCC.S.Afffb")) { + ChipLogProgress(chipTool, + " ***** Test Step 11 : Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the " + "DUT\n"); + if (ShouldSkip("PCC.S.A0003")) { NextTest(); return; } - err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_11(); + err = TestStep4bThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_11(); break; case 12: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the " + " ***** Test Step 12 : Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A0003 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A0004")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_12(); + err = TestStep4cThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_12(); break; case 13: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the " + " ***** Test Step 13 : Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A0004 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A0005")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_13(); + err = TestStep4dThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_13(); break; case 14: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the " + " ***** Test Step 14 : Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A0005 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A0006")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_14(); + err = TestStep4eThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_14(); break; case 15: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the " + " ***** Test Step 15 : Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A0006 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A0007")) { NextTest(); return; } - err = TestStep4eThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_15(); + err = TestStep4fThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_15(); break; case 16: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the " + " ***** Test Step 16 : Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A0007 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A0008")) { NextTest(); return; } - err = TestStep4fThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_16(); + err = TestStep4gThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_16(); break; case 17: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the " + " ***** Test Step 17 : Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A0008 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A0009")) { NextTest(); return; } - err = TestStep4gThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_17(); + err = TestStep4hThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_17(); break; case 18: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the " + " ***** Test Step 18 : Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A0009 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A000a")) { NextTest(); return; } - err = TestStep4hThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_18(); + err = TestStep4iThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_18(); break; case 19: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the " + " ***** Test Step 19 : Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A000a && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A000b")) { NextTest(); return; } - err = TestStep4iThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_19(); + err = TestStep4jThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_19(); break; case 20: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the " + " ***** Test Step 20 : Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A000b && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A000c")) { NextTest(); return; } - err = TestStep4jThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_20(); + err = TestStep4kThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_20(); break; case 21: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the " - "DUT\n"); - if (ShouldSkip("PCC.S.A000c && PCC.S.Afffb")) { + " ***** Test Step 21 : Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0010")) { NextTest(); return; } - err = TestStep4kThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_21(); + err = TestStep4lThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_21(); break; case 22: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT\n"); - if (ShouldSkip("PCC.S.A0010 && PCC.S.Afffb")) { + " ***** Test Step 22 : Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0014")) { NextTest(); return; } - err = TestStep4lThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_22(); + err = TestStep4mThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_22(); break; case 23: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT\n"); - if (ShouldSkip("PCC.S.A0014 && PCC.S.Afffb")) { + " ***** Test Step 23 : Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from " + "the DUT\n"); + if (ShouldSkip("PCC.S.A0015")) { NextTest(); return; } - err = TestStep4mThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_23(); + err = TestStep4nThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_23(); break; case 24: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from " - "the DUT\n"); - if (ShouldSkip("PCC.S.A0015 && PCC.S.Afffb")) { + " ***** Test Step 24 : Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT\n"); + if (ShouldSkip("PCC.S.A0016")) { NextTest(); return; } - err = TestStep4nThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_24(); + err = TestStep4oThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_24(); break; case 25: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT\n"); - if (ShouldSkip("PCC.S.A0016 && PCC.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4oThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_25(); - break; - case 26: - ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList " + " ***** Test Step 25 : Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList " "from the DUT\n"); - if (ShouldSkip("PCC.S.A0017 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A0017")) { NextTest(); return; } - err = TestStep4pThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_26(); + err = TestStep4pThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_25(); break; - case 27: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 27 : Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the " + " ***** Test Step 26 : Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the " "DUT\n"); - if (ShouldSkip("PCC.S.A0021 && PCC.S.Afffb")) { + if (ShouldSkip("PCC.S.A0021")) { NextTest(); return; } - err = TestStep4qThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_27(); + err = TestStep4qThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_26(); break; - case 28: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 4r: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " + " ***** Test Step 27 : Step 4r: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " "invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PCC.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4rThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); - break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 5a: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.Afffa && !PCC.S.E00 && !PCC.S.E01 && !PCC.S.E02 && !PCC.S.E03 && " - "!PCC.S.E04 && !PCC.S.E05 && !PCC.S.E06 && !PCC.S.E07 && !PCC.S.E08 && !PCC.S.E09 && !PCC.S.E0a && " - "!PCC.S.E0b && !PCC.S.E0c && !PCC.S.E0d && !PCC.S.E0e && !PCC.S.E0f && !PCC.S.E10 ")) { - NextTest(); - return; - } - NextTest(); - return; - case 30: - ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 5b: TH reads from the DUT the EventList optional (SupplyVoltageLow)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E00 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 31: - ChipLogProgress(chipTool, - " ***** Test Step 31 : Step 5c: TH reads from the DUT the EventList optional (SupplyVoltageHigh)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E01 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 32: - ChipLogProgress(chipTool, - " ***** Test Step 32 : Step 5d: TH reads from the DUT the EventList optional (PowerMissingPhase)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E02 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 33: - ChipLogProgress(chipTool, - " ***** Test Step 33 : Step 5e: TH reads from the DUT the EventList optional (SystemPressureLow)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E03 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 34: - ChipLogProgress(chipTool, - " ***** Test Step 34 : Step 5f: TH reads from the DUT the EventList optional (SystemPressureHigh)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E04 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 35: - ChipLogProgress( - chipTool, " ***** Test Step 35 : Step 5g: TH reads from the DUT the EventList optional (DryRunning)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E05 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 36: - ChipLogProgress(chipTool, - " ***** Test Step 36 : Step 5h: TH reads from the DUT the EventList optional (MotorTemperatureHigh)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E06 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 37: - ChipLogProgress(chipTool, - " ***** Test Step 37 : Step 5i: TH reads from the DUT the EventList optional (PumpMotorFatalFailure)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E07 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 38: - ChipLogProgress(chipTool, - " ***** Test Step 38 : Step 5j: TH reads from the DUT the EventList optional " - "(ElectronicTemperatureHigh)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E08 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 39: - ChipLogProgress( - chipTool, " ***** Test Step 39 : Step 5k: TH reads from the DUT the EventList optional (PumpBlocked)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E09 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 40: - ChipLogProgress(chipTool, - " ***** Test Step 40 : Step 5l: TH reads from the DUT the EventList optional (SensorFailure)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0a && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 41: - ChipLogProgress(chipTool, - " ***** Test Step 41 : Step 5m: TH reads from the DUT the EventList optional " - "(ElectronicNonFatalFailure)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0b && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 42: - ChipLogProgress(chipTool, - " ***** Test Step 42 : Step 5n: TH reads from the DUT the EventList optional (ElectronicFatalFailure)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0c && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 43: - ChipLogProgress( - chipTool, " ***** Test Step 43 : Step 5o: TH reads from the DUT the EventList optional (GeneralFault)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0d && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 44: - ChipLogProgress( - chipTool, " ***** Test Step 44 : Step 5p: TH reads from the DUT the EventList optional (Leakage)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0e && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 45: - ChipLogProgress( - chipTool, " ***** Test Step 45 : Step 5q: TH reads from the DUT the EventList optional (AirDetection)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0f && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 46: - ChipLogProgress(chipTool, - " ***** Test Step 46 : Step 5r: TH reads from the DUT the EventList optional (TurbineOperation)attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E10 && PCC.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 47: - ChipLogProgress(chipTool, - " ***** Test Step 47 : Step 5s: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " - "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2. The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PCC.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5sThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_47(); + err = TestStep4rThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; - case 48: + case 28: ChipLogProgress(chipTool, - " ***** Test Step 48 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 28 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PCC.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_48(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; - case 49: + case 29: ChipLogProgress(chipTool, - " ***** Test Step 49 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 29 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PCC.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_49(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); break; } @@ -86806,66 +84612,6 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 30: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 31: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 32: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 33: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 34: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 35: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 36: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 37: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 38: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 39: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 40: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 41: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 42: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 43: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 44: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 45: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 46: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 47: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 48: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 49: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -86879,7 +84625,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 50; + const uint16_t mTestCount = 30; chip::Optional mNodeId; chip::Optional mCluster; @@ -87117,7 +84863,6 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 32UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -87128,41 +84873,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsTheAttributeListAttributeFromTheDut_11() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 18UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 19UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 32UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_12() + CHIP_ERROR TestStep4bThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87185,7 +84896,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_13() + CHIP_ERROR TestStep4cThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87208,7 +84919,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_14() + CHIP_ERROR TestStep4dThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87231,7 +84942,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_15() + CHIP_ERROR TestStep4eThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87254,7 +84965,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_16() + CHIP_ERROR TestStep4fThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87277,7 +84988,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_17() + CHIP_ERROR TestStep4gThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87300,7 +85011,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_18() + CHIP_ERROR TestStep4hThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87323,7 +85034,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_19() + CHIP_ERROR TestStep4iThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87346,7 +85057,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_20() + CHIP_ERROR TestStep4jThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87369,7 +85080,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_21() + CHIP_ERROR TestStep4kThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87392,7 +85103,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_22() + CHIP_ERROR TestStep4lThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87415,7 +85126,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_23() + CHIP_ERROR TestStep4mThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87438,7 +85149,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_24() + CHIP_ERROR TestStep4nThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87462,7 +85173,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_25() + CHIP_ERROR TestStep4oThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87485,7 +85196,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_26() + CHIP_ERROR TestStep4pThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87509,7 +85220,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_27() + CHIP_ERROR TestStep4qThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87533,18 +85244,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4rThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() - { - - 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 - TestStep5sThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_47() + TestStep4rThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -87555,7 +85255,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_48() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -87566,7 +85266,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_49() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -90070,45 +87770,23 @@ class Test_TC_RH_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("RH.S.A0003")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); + err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); - if (ShouldSkip("RH.S.A0003")) { - NextTest(); - return; - } - err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_7(); - break; - case 8: - ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but " - "it can contain manufacturer specific event IDs.\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_8(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_6(); break; } @@ -90142,12 +87820,6 @@ class Test_TC_RH_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -90161,7 +87833,7 @@ class Test_TC_RH_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -90248,7 +87920,6 @@ class Test_TC_RH_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -90259,37 +87930,7 @@ class Test_TC_RH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5() + CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -90312,7 +87953,7 @@ class Test_TC_RH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -90338,7 +87979,7 @@ class Test_TC_RH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -90363,17 +88004,6 @@ class Test_TC_RH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - - CHIP_ERROR - TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_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); - } }; class Test_TC_RH_2_1 : public TestCommandBridge { @@ -90771,81 +88401,24 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { err = TestThReadsFromTheDutTheAttributeListAttributeExpiryDate_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads from the DUT the EventList attribute\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : TH reads from the DUT the EventList attribute(SmokeAlarm)\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E00")) { - NextTest(); - return; - } - NextTest(); - return; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads from the DUT the EventList attribute(COAlarm)\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E01")) { - NextTest(); - return; - } - NextTest(); - return; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : TH reads from the DUT the EventList attribute(AlarmMuted)\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E06")) { - NextTest(); - return; - } - NextTest(); - return; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : TH reads from the DUT the EventList attribute(MuteEnded)\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E07")) { - NextTest(); - return; - } - NextTest(); - return; - case 20: - ChipLogProgress( - chipTool, " ***** Test Step 20 : TH reads from the DUT the EventList attribute(InterconnectSmokeAlarm)\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E08")) { - NextTest(); - return; - } - NextTest(); - return; - case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : TH reads from the DUT the EventList attribute(InterconnectCOAlarm)\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E09")) { - NextTest(); - return; - } - NextTest(); - return; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : TH reads from the DUT the AcceptedCommandList attribute\n"); + ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads from the DUT the AcceptedCommandList attribute\n"); if (ShouldSkip("!SMOKECO.S.C00.Rsp")) { NextTest(); return; } - err = TestThReadsFromTheDutTheAcceptedCommandListAttribute_22(); + err = TestThReadsFromTheDutTheAcceptedCommandListAttribute_15(); break; - case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : TH reads from the DUT the AcceptedCommandList attribute\n"); + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : TH reads from the DUT the AcceptedCommandList attribute\n"); if (ShouldSkip("SMOKECO.S.C00.Rsp")) { NextTest(); return; } - err = TestThReadsFromTheDutTheAcceptedCommandListAttribute_23(); + err = TestThReadsFromTheDutTheAcceptedCommandListAttribute_16(); break; - case 24: - ChipLogProgress(chipTool, " ***** Test Step 24 : TH reads from the DUT the GeneratedCommandList attribute\n"); - err = TestThReadsFromTheDutTheGeneratedCommandListAttribute_24(); + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads from the DUT the GeneratedCommandList attribute\n"); + err = TestThReadsFromTheDutTheGeneratedCommandListAttribute_17(); break; } @@ -90912,27 +88485,6 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 21: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 22: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 23: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 24: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -90946,7 +88498,7 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 25; + const uint16_t mTestCount = 18; chip::Optional mNodeId; chip::Optional mCluster; @@ -91274,7 +88826,7 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsFromTheDutTheAcceptedCommandListAttribute_22() + CHIP_ERROR TestThReadsFromTheDutTheAcceptedCommandListAttribute_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91298,7 +88850,7 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsFromTheDutTheAcceptedCommandListAttribute_23() + CHIP_ERROR TestThReadsFromTheDutTheAcceptedCommandListAttribute_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91319,7 +88871,7 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsFromTheDutTheGeneratedCommandListAttribute_24() + CHIP_ERROR TestThReadsFromTheDutTheGeneratedCommandListAttribute_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93577,92 +91129,19 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04")) { + if (ShouldSkip("!SWTCH.S.F04")) { NextTest(); return; } err = TestStep4bReadTheGlobalAttributeAttributeList_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04")) { - NextTest(); - return; - } - err = TestStep4bReadTheGlobalAttributeAttributeList_10(); + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5a: Read the global attribute: EventList \n"); - if (ShouldSkip( - "PICS_EVENT_LIST_ENABLED && !SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 ")) { - NextTest(); - return; - } - NextTest(); - return; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5b: Read EventList if SWTCH.S.F00(LS)\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F00")) { - NextTest(); - return; - } - NextTest(); - return; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5c: Read 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; - } - 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"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04")) { - NextTest(); - return; - } - 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"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && !SWTCH.S.F04")) { - NextTest(); - return; - } - 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"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && SWTCH.S.F04")) { - NextTest(); - return; - } - 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"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && SWTCH.S.F04")) { - NextTest(); - return; - } - NextTest(); - return; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_18(); - break; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_19(); + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_11(); break; } @@ -93711,30 +91190,6 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 18: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -93748,7 +91203,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 20; + const uint16_t mTestCount = 12; chip::Optional mNodeId; chip::Optional mCluster; @@ -93944,7 +91399,6 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -93955,34 +91409,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheGlobalAttributeAttributeList_10() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4b: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_18() + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93994,6 +91421,11 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("AcceptedCommandList", [actualValue count], static_cast(0))); + } + VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); NextTest(); }]; @@ -94001,7 +91433,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_19() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94078,86 +91510,65 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, + " ***** Test Step 4 : Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList " + "from the DUT\n"); + if (ShouldSkip("RVCOPSTATE.S.A0002")) { NextTest(); return; } - err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_4(); + err = TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_4(); break; case 5: - ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList " - "from the DUT\n"); - if (ShouldSkip("RVCOPSTATE.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6a: Read the optional command(Pause) in AcceptedCommandList\n"); + if (ShouldSkip("RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp")) { NextTest(); return; } - err = TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_5(); + err = TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5a: TH reads from the DUT the EventList attribute.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); + if (ShouldSkip("RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp")) { NextTest(); return; } - NextTest(); - return; + err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_6(); + break; case 7: - ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 5b: TH reads from the DUT the optional event(OperationCompletion) in EventList.\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && RVCOPSTATE.S.E01")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6c: Read the optional command(Start) in AcceptedCommandList\n"); + if (ShouldSkip("RVCOPSTATE.S.C02.Rsp")) { NextTest(); return; } - NextTest(); - return; + err = TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_7(); + break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: Read the optional command(Pause) in AcceptedCommandList\n"); - if (ShouldSkip("RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); + if (ShouldSkip("RVCOPSTATE.S.C03.Rsp || RVCOPSTATE.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_8(); + err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); - if (ShouldSkip("RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: Read the global attribute: GeneratedCommandList\n"); + if (ShouldSkip(" !RVCOPSTATE.S.C00.Rsp && !RVCOPSTATE.S.C01.Rsp && !RVCOPSTATE.S.C02.Rsp && !RVCOPSTATE.S.C03.Rsp ")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_9(); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6c: Read the optional command(Start) in AcceptedCommandList\n"); - if (ShouldSkip("RVCOPSTATE.S.C02.Rsp")) { - NextTest(); - return; - } - err = TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_10(); - break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); - if (ShouldSkip("RVCOPSTATE.S.C03.Rsp || RVCOPSTATE.S.C00.Rsp")) { - NextTest(); - return; - } - err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_11(); - break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 7: Read the global attribute: GeneratedCommandList\n"); + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 7: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip(" RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp || RVCOPSTATE.S.C03.Rsp ")) { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_12(); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_10(); break; } @@ -94203,12 +91614,6 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 11: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -94222,7 +91627,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 13; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -94311,7 +91716,6 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -94322,7 +91726,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsTheAttributeListAttributeFromTheDut_4() + CHIP_ERROR TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94332,21 +91736,14 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); + NSLog( + @"Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT Error: %@", + err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); NextTest(); }]; @@ -94354,7 +91751,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_5() + CHIP_ERROR TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94363,15 +91760,14 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog( - @"Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT Error: %@", - err); + [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 6a: Read the optional command(Pause) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 3UL)); NextTest(); }]; @@ -94379,7 +91775,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_8() + CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94389,13 +91785,13 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6a: Read the optional command(Pause) in AcceptedCommandList Error: %@", err); + NSLog(@"Step 6b: Read the optional command(Stop) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL)); NextTest(); }]; @@ -94403,7 +91799,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_9() + CHIP_ERROR TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94413,12 +91809,11 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6b: Read the optional command(Stop) in AcceptedCommandList Error: %@", err); + NSLog(@"Step 6c: Read the optional command(Start) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL)); NextTest(); @@ -94427,7 +91822,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_10() + CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94437,12 +91832,13 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6c: Read the optional command(Start) in AcceptedCommandList Error: %@", err); + NSLog(@"Step 6d: Read the optional command(Resume) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 3UL)); NextTest(); }]; @@ -94450,7 +91846,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_11() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94459,22 +91855,24 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6d: Read the optional command(Resume) in AcceptedCommandList Error: %@", err); + [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("acceptedCommandList", value, 3UL)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("GeneratedCommandList", [actualValue count], static_cast(0))); + } + VerifyOrReturn(CheckConstraintType("generatedCommandList", "list", "list")); NextTest(); }]; return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_12() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94550,45 +91948,23 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("TMP.S.A0003")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); + err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); - if (ShouldSkip("TMP.S.A0003")) { - NextTest(); - return; - } - err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read AcceptedCommandList attribute from the DUT\n"); + err = TestStep5ReadAcceptedCommandListAttributeFromTheDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read AcceptedCommandList attribute from the DUT\n"); - err = TestStep5ReadAcceptedCommandListAttributeFromTheDut_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read GeneratedCommandList attribute from the DUT\n"); - err = TestStep6ReadGeneratedCommandListAttributeFromTheDut_7(); - break; - case 8: - ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but " - "it can contain manufacturer specific event IDs.\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_8(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read GeneratedCommandList attribute from the DUT\n"); + err = TestStep6ReadGeneratedCommandListAttributeFromTheDut_6(); break; } @@ -94622,12 +91998,6 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -94641,7 +92011,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -94728,7 +92098,6 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -94739,37 +92108,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterTemperatureMeasurement alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5() + CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94792,7 +92131,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadAcceptedCommandListAttributeFromTheDut_6() + CHIP_ERROR TestStep5ReadAcceptedCommandListAttributeFromTheDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94818,7 +92157,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadGeneratedCommandListAttributeFromTheDut_7() + CHIP_ERROR TestStep6ReadGeneratedCommandListAttributeFromTheDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94843,17 +92182,6 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - - CHIP_ERROR - TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_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); - } }; class Test_TC_TMP_2_1 : public TestCommandBridge { @@ -95221,434 +92549,412 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_11(); - break; - case 12: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList\n"); + " ***** Test Step 11 : Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_12(); + err = TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_11(); break; - case 13: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList\n"); + " ***** Test Step 12 : Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_13(); + err = TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_12(); break; - case 14: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList\n"); + " ***** Test Step 13 : Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_14(); + err = TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_13(); break; - case 15: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in " + " ***** Test Step 14 : Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02")) { NextTest(); return; } - err = TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_15(); + err = TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_14(); break; - case 16: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in " + " ***** Test Step 15 : Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02")) { NextTest(); return; } - err = TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_16(); + err = TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_15(); break; - case 17: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList\n"); + " ***** Test Step 16 : Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_17(); + err = TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList\n"); + " ***** Test Step 17 : Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_18(); + err = TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_17(); break; - case 19: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList\n"); + " ***** Test Step 18 : Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F04")) { NextTest(); return; } - err = TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_19(); + err = TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in " + " ***** Test Step 19 : Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F04 && TSTAT.S.F02")) { NextTest(); return; } - err = TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_20(); + err = TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_19(); break; - case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4k: Read the optional attribute in AttributeList\n"); + case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4k: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0001")) { NextTest(); return; } - err = TestStep4kReadTheOptionalAttributeInAttributeList_21(); + err = TestStep4kReadTheOptionalAttributeInAttributeList_20(); break; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4l: Read the optional attribute in AttributeList\n"); + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4l: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0009")) { NextTest(); return; } - err = TestStep4lReadTheOptionalAttributeInAttributeList_22(); + err = TestStep4lReadTheOptionalAttributeInAttributeList_21(); break; - case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4m: Read the optional attribute in AttributeList\n"); + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4m: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0010")) { NextTest(); return; } - err = TestStep4mReadTheOptionalAttributeInAttributeList_23(); + err = TestStep4mReadTheOptionalAttributeInAttributeList_22(); break; - case 24: - ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4n: Read the optional attribute in AttributeList\n"); + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4n: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A001a")) { NextTest(); return; } - err = TestStep4nReadTheOptionalAttributeInAttributeList_24(); + err = TestStep4nReadTheOptionalAttributeInAttributeList_23(); break; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4o: Read the optional attribute in AttributeList\n"); + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4o: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A001d")) { NextTest(); return; } - err = TestStep4oReadTheOptionalAttributeInAttributeList_25(); + err = TestStep4oReadTheOptionalAttributeInAttributeList_24(); break; - case 26: - ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4p: Read the optional attribute in AttributeList\n"); + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4p: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0023")) { NextTest(); return; } - err = TestStep4pReadTheOptionalAttributeInAttributeList_26(); + err = TestStep4pReadTheOptionalAttributeInAttributeList_25(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4q: Read the optional attribute in AttributeList\n"); + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4q: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0024")) { NextTest(); return; } - err = TestStep4qReadTheOptionalAttributeInAttributeList_27(); + err = TestStep4qReadTheOptionalAttributeInAttributeList_26(); break; - case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4r: Read the optional attribute in AttributeList\n"); + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4r: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0025")) { NextTest(); return; } - err = TestStep4rReadTheOptionalAttributeInAttributeList_28(); + err = TestStep4rReadTheOptionalAttributeInAttributeList_27(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4s: Read the optional attribute in AttributeList\n"); + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4s: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0029")) { NextTest(); return; } - err = TestStep4sReadTheOptionalAttributeInAttributeList_29(); + err = TestStep4sReadTheOptionalAttributeInAttributeList_28(); break; - case 30: - ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4t: Read the optional attribute in AttributeList\n"); + case 29: + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4t: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0030")) { NextTest(); return; } - err = TestStep4tReadTheOptionalAttributeInAttributeList_30(); + err = TestStep4tReadTheOptionalAttributeInAttributeList_29(); break; - case 31: - ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4u: Read the optional attribute in AttributeList\n"); + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4u: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0031")) { NextTest(); return; } - err = TestStep4uReadTheOptionalAttributeInAttributeList_31(); + err = TestStep4uReadTheOptionalAttributeInAttributeList_30(); break; - case 32: - ChipLogProgress(chipTool, " ***** Test Step 32 : Step 4x: Read the optional attribute in AttributeList\n"); + case 31: + ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4x: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0032")) { NextTest(); return; } - err = TestStep4xReadTheOptionalAttributeInAttributeList_32(); + err = TestStep4xReadTheOptionalAttributeInAttributeList_31(); break; - case 33: - ChipLogProgress(chipTool, " ***** Test Step 33 : Step 5y: Read the optional attribute: AttributeList\n"); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 5y: Read the optional attribute: AttributeList\n"); if (ShouldSkip("TSTAT.S.A003a")) { NextTest(); return; } - err = TestStep5yReadTheOptionalAttributeAttributeList_33(); + err = TestStep5yReadTheOptionalAttributeAttributeList_32(); break; - case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4z: Read the optional attribute in AttributeList\n"); + case 33: + ChipLogProgress(chipTool, " ***** Test Step 33 : Step 4z: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0040")) { NextTest(); return; } - err = TestStep4zReadTheOptionalAttributeInAttributeList_34(); + err = TestStep4zReadTheOptionalAttributeInAttributeList_33(); break; - case 35: - ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4A: Read the optional attribute in AttributeList\n"); + case 34: + ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4A: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0041")) { NextTest(); return; } - err = TestStep4aReadTheOptionalAttributeInAttributeList_35(); + err = TestStep4aReadTheOptionalAttributeInAttributeList_34(); break; - case 36: - ChipLogProgress(chipTool, " ***** Test Step 36 : Step 4B: Read the optional attribute in AttributeList\n"); + case 35: + ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4B: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0042")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeInAttributeList_36(); + err = TestStep4bReadTheOptionalAttributeInAttributeList_35(); break; - case 37: - ChipLogProgress(chipTool, " ***** Test Step 37 : Step 4C: Read the optional attribute in AttributeList\n"); + case 36: + ChipLogProgress(chipTool, " ***** Test Step 36 : Step 4C: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0043")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeInAttributeList_37(); + err = TestStep4cReadTheOptionalAttributeInAttributeList_36(); break; - case 38: - ChipLogProgress(chipTool, " ***** Test Step 38 : Step 5D: Read the optional attribute: AttributeList\n"); + case 37: + ChipLogProgress(chipTool, " ***** Test Step 37 : Step 5D: Read the optional attribute: AttributeList\n"); if (ShouldSkip("TSTAT.S.A0044")) { NextTest(); return; } - err = TestStep5dReadTheOptionalAttributeAttributeList_38(); + err = TestStep5dReadTheOptionalAttributeAttributeList_37(); break; - case 39: - ChipLogProgress(chipTool, " ***** Test Step 39 : Step 4E: Read the optional attribute in AttributeList\n"); + case 38: + ChipLogProgress(chipTool, " ***** Test Step 38 : Step 4E: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0045")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeInAttributeList_39(); + err = TestStep4eReadTheOptionalAttributeInAttributeList_38(); break; - case 40: - ChipLogProgress(chipTool, " ***** Test Step 40 : Step 4F: Read the optional attribute in AttributeList\n"); + case 39: + ChipLogProgress(chipTool, " ***** Test Step 39 : Step 4F: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0046")) { NextTest(); return; } - err = TestStep4fReadTheOptionalAttributeInAttributeList_40(); + err = TestStep4fReadTheOptionalAttributeInAttributeList_39(); break; - case 41: - ChipLogProgress(chipTool, " ***** Test Step 41 : Step 5G: Read the optional attribute: AttributeList\n"); + case 40: + ChipLogProgress(chipTool, " ***** Test Step 40 : Step 5G: Read the optional attribute: AttributeList\n"); if (ShouldSkip("TSTAT.S.A0047")) { NextTest(); return; } - err = TestStep5gReadTheOptionalAttributeAttributeList_41(); + err = TestStep5gReadTheOptionalAttributeAttributeList_40(); break; - case 42: + case 41: ChipLogProgress(chipTool, - " ***** Test Step 42 : Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 41 : Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0003")) { NextTest(); return; } - err = TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42(); + err = TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_41(); break; - case 43: + case 42: ChipLogProgress(chipTool, - " ***** Test Step 43 : Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 42 : Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0004")) { NextTest(); return; } - err = TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43(); + err = TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42(); break; - case 44: + case 43: ChipLogProgress(chipTool, - " ***** Test Step 44 : Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 43 : Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0008")) { NextTest(); return; } - err = TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44(); + err = TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43(); break; - case 45: + case 44: ChipLogProgress(chipTool, - " ***** Test Step 45 : Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 44 : Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45(); + err = TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44(); break; - case 46: + case 45: ChipLogProgress(chipTool, - " ***** Test Step 46 : Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 45 : Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { NextTest(); return; } - err = TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_46(); + err = TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45(); break; - case 47: + case 46: ChipLogProgress(chipTool, - " ***** Test Step 47 : Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 46 : Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0005")) { NextTest(); return; } - err = TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47(); + err = TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_46(); break; - case 48: + case 47: ChipLogProgress(chipTool, - " ***** Test Step 48 : Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 47 : Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007")) { NextTest(); return; } - err = TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48(); + err = TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47(); break; - case 49: + case 48: ChipLogProgress(chipTool, - " ***** Test Step 49 : Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 48 : Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007")) { NextTest(); return; } - err = TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49(); + err = TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48(); break; - case 50: + case 49: ChipLogProgress(chipTool, - " ***** Test Step 50 : Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 49 : Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50(); + err = TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49(); break; - case 51: + case 50: ChipLogProgress(chipTool, - " ***** Test Step 51 : Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 50 : Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_51(); + err = TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50(); break; - case 52: + case 51: ChipLogProgress(chipTool, - " ***** Test Step 52 : Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in " + " ***** Test Step 51 : Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.A001e")) { NextTest(); return; } - err = TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_52(); + err = TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_51(); break; - case 53: + case 52: ChipLogProgress(chipTool, - " ***** Test Step 53 : Step 5a: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList\n"); + " ***** Test Step 52 : Step 5a: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestStep5aReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_53(); + err = TestStep5aReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_52(); break; - case 54: - ChipLogProgress(chipTool, " ***** Test Step 54 : Step 5b: Read the optional attribute: AcceptedCommandList\n"); + case 53: + ChipLogProgress(chipTool, " ***** Test Step 53 : Step 5b: Read the optional attribute: AcceptedCommandList\n"); if (ShouldSkip("TSTAT.S.C04.Rsp")) { NextTest(); return; } - err = TestStep5bReadTheOptionalAttributeAcceptedCommandList_54(); + err = TestStep5bReadTheOptionalAttributeAcceptedCommandList_53(); break; - case 55: - ChipLogProgress(chipTool, " ***** Test Step 55 : Step 6a: Read the global attribute: GeneratedCommandList\n"); + case 54: + ChipLogProgress(chipTool, " ***** Test Step 54 : Step 6a: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip(" !TSTAT.S.C04.Rsp && !TSTAT.S.C02.Rsp ")) { NextTest(); return; } - err = TestStep6aReadTheGlobalAttributeGeneratedCommandList_55(); + err = TestStep6aReadTheGlobalAttributeGeneratedCommandList_54(); break; - case 56: + case 55: ChipLogProgress(chipTool, - " ***** Test Step 56 : Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList\n"); + " ***** Test Step 55 : Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_56(); + err = TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_55(); break; - case 57: + case 56: ChipLogProgress(chipTool, - " ***** Test Step 57 : Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList\n"); + " ***** Test Step 56 : Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList\n"); if (ShouldSkip("TSTAT.S.C04.Rsp")) { NextTest(); return; } - err = TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_57(); - break; - case 58: - ChipLogProgress(chipTool, - " ***** Test Step 58 : Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty " - "but it can contain manufacturer specific event IDs.\n"); - if (ShouldSkip("PICS_USER_PROMPT")) { - NextTest(); - return; - } - err = TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_58(); + err = TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_56(); break; } @@ -95832,12 +93138,6 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 57: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 58: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -95851,7 +93151,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 59; + const uint16_t mTestCount = 57; chip::Optional mNodeId; chip::Optional mCluster; @@ -96040,35 +93340,6 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 27UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 28UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_11() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -96090,7 +93361,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_12() + CHIP_ERROR TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96111,7 +93382,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_13() + CHIP_ERROR TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96132,7 +93403,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_14() + CHIP_ERROR TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96153,7 +93424,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_15() + CHIP_ERROR TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96175,7 +93446,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_16() + CHIP_ERROR TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96197,7 +93468,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_17() + CHIP_ERROR TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96220,7 +93491,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_18() + CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96243,7 +93514,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_19() + CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96266,7 +93537,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_20() + CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96290,7 +93561,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kReadTheOptionalAttributeInAttributeList_21() + CHIP_ERROR TestStep4kReadTheOptionalAttributeInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96311,7 +93582,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lReadTheOptionalAttributeInAttributeList_22() + CHIP_ERROR TestStep4lReadTheOptionalAttributeInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96332,7 +93603,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mReadTheOptionalAttributeInAttributeList_23() + CHIP_ERROR TestStep4mReadTheOptionalAttributeInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96353,7 +93624,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nReadTheOptionalAttributeInAttributeList_24() + CHIP_ERROR TestStep4nReadTheOptionalAttributeInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96374,7 +93645,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oReadTheOptionalAttributeInAttributeList_25() + CHIP_ERROR TestStep4oReadTheOptionalAttributeInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96395,7 +93666,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pReadTheOptionalAttributeInAttributeList_26() + CHIP_ERROR TestStep4pReadTheOptionalAttributeInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96416,7 +93687,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qReadTheOptionalAttributeInAttributeList_27() + CHIP_ERROR TestStep4qReadTheOptionalAttributeInAttributeList_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96437,7 +93708,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4rReadTheOptionalAttributeInAttributeList_28() + CHIP_ERROR TestStep4rReadTheOptionalAttributeInAttributeList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96458,7 +93729,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4sReadTheOptionalAttributeInAttributeList_29() + CHIP_ERROR TestStep4sReadTheOptionalAttributeInAttributeList_28() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96479,7 +93750,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4tReadTheOptionalAttributeInAttributeList_30() + CHIP_ERROR TestStep4tReadTheOptionalAttributeInAttributeList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96500,7 +93771,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4uReadTheOptionalAttributeInAttributeList_31() + CHIP_ERROR TestStep4uReadTheOptionalAttributeInAttributeList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96521,7 +93792,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4xReadTheOptionalAttributeInAttributeList_32() + CHIP_ERROR TestStep4xReadTheOptionalAttributeInAttributeList_31() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96542,7 +93813,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5yReadTheOptionalAttributeAttributeList_33() + CHIP_ERROR TestStep5yReadTheOptionalAttributeAttributeList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96563,7 +93834,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4zReadTheOptionalAttributeInAttributeList_34() + CHIP_ERROR TestStep4zReadTheOptionalAttributeInAttributeList_33() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96584,7 +93855,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheOptionalAttributeInAttributeList_35() + CHIP_ERROR TestStep4aReadTheOptionalAttributeInAttributeList_34() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96605,7 +93876,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeInAttributeList_36() + CHIP_ERROR TestStep4bReadTheOptionalAttributeInAttributeList_35() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96626,7 +93897,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeInAttributeList_37() + CHIP_ERROR TestStep4cReadTheOptionalAttributeInAttributeList_36() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96647,7 +93918,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5dReadTheOptionalAttributeAttributeList_38() + CHIP_ERROR TestStep5dReadTheOptionalAttributeAttributeList_37() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96668,7 +93939,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeInAttributeList_39() + CHIP_ERROR TestStep4eReadTheOptionalAttributeInAttributeList_38() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96689,7 +93960,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalAttributeInAttributeList_40() + CHIP_ERROR TestStep4fReadTheOptionalAttributeInAttributeList_39() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96710,7 +93981,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5gReadTheOptionalAttributeAttributeList_41() + CHIP_ERROR TestStep5gReadTheOptionalAttributeAttributeList_40() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96731,7 +94002,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42() + CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_41() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96752,7 +94023,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43() + CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96773,7 +94044,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44() + CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96794,7 +94065,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45() + CHIP_ERROR TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96815,7 +94086,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_46() + CHIP_ERROR TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96836,7 +94107,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47() + CHIP_ERROR TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_46() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96857,7 +94128,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48() + CHIP_ERROR TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96878,7 +94149,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49() + CHIP_ERROR TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96899,7 +94170,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50() + CHIP_ERROR TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96920,7 +94191,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_51() + CHIP_ERROR TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96941,7 +94212,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_52() + CHIP_ERROR TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_51() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96962,7 +94233,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5aReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_53() + CHIP_ERROR TestStep5aReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_52() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96986,7 +94257,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5bReadTheOptionalAttributeAcceptedCommandList_54() + CHIP_ERROR TestStep5bReadTheOptionalAttributeAcceptedCommandList_53() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97007,7 +94278,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheGlobalAttributeGeneratedCommandList_55() + CHIP_ERROR TestStep6aReadTheGlobalAttributeGeneratedCommandList_54() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97031,7 +94302,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_56() + CHIP_ERROR TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_55() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97052,7 +94323,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_57() + CHIP_ERROR TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_56() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97072,17 +94343,6 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - - CHIP_ERROR - TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_58() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } }; class Test_TC_TSUIC_1_1 : public TestCommandBridge { @@ -97136,38 +94396,58 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { err = TestStep3ReadFeatureMapAttributeFromTheDut_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ReadTheGlobalAttributeAttributeList_3(); + ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, + " ***** Test Step 4 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4ReadTheGlobalAttributeAttributeList_4(); + err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5aReadTheGlobalAttributeAcceptedCommandList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_6(); + ChipLogProgress(chipTool, + " ***** Test Step 6 : Step 5b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep5bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeGeneratedCommandList_7(); + break; + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but " - "it can contain manufacturer specific event IDs.\n"); + " ***** Test Step 8 : Step 6b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_7(); + err = TestStep6bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; } @@ -97204,6 +94484,9 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -97217,7 +94500,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -97284,7 +94567,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_3() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97294,7 +94577,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -97304,7 +94587,6 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -97315,37 +94597,18 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() + CHIP_ERROR + TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() { - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterThermostatUserInterfaceConfiguration alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; + chip::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 TestStep5ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep5aReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97355,7 +94618,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 5: Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 5a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -97371,7 +94634,18 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR + TestStep5bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep6aReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97381,7 +94655,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -97398,7 +94672,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_7() + TestStep6bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -98941,118 +96215,106 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: TH reads mandatory attributes in AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aThReadsMandatoryAttributesInAttributeListFromDut_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: TH reads mandatory attributes in AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 4b: TH reads Feature dependent attribute(DGTHREAD.S.F01(ERRCNT)) in attributeList\n"); + if (ShouldSkip("DGTHREAD.S.A0006 && DGTHREAD.S.F01")) { NextTest(); return; } - err = TestStep4aThReadsMandatoryAttributesInAttributeListFromDut_8(); + err = TestStep4bThReadsFeatureDependentAttributeDGTHREADSF01ERRCNTInAttributeList_8(); break; case 9: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4b: TH reads Feature dependent attribute(DGTHREAD.S.F01(ERRCNT)) in attributeList\n"); - if (ShouldSkip("DGTHREAD.S.A0006 && DGTHREAD.S.F01")) { + " ***** Test Step 9 : Step 4c: TH reads Feature dependent attribute (DGTHREAD.S.F02(MLECNT)) in attributeList\n"); + if (ShouldSkip("DGTHREAD.S.F02")) { NextTest(); return; } - err = TestStep4bThReadsFeatureDependentAttributeDGTHREADSF01ERRCNTInAttributeList_9(); + err = TestStep4cThReadsFeatureDependentAttributeDgthreadsf02mlecntInAttributeList_9(); break; case 10: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4c: TH reads Feature dependent attribute (DGTHREAD.S.F02(MLECNT)) in attributeList\n"); - if (ShouldSkip("DGTHREAD.S.F02")) { + " ***** Test Step 10 : Step 4d: TH reads Feature dependent attribute (DGTHREAD.S.F03(MACCNT)) in attributeList\n"); + if (ShouldSkip("DGTHREAD.S.F03")) { NextTest(); return; } - err = TestStep4cThReadsFeatureDependentAttributeDgthreadsf02mlecntInAttributeList_10(); + err = TestStep4dThReadsFeatureDependentAttributeDgthreadsf03maccntInAttributeList_10(); break; case 11: - ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4d: TH reads Feature dependent attribute (DGTHREAD.S.F03(MACCNT)) in attributeList\n"); - if (ShouldSkip("DGTHREAD.S.F03")) { + ChipLogProgress( + chipTool, " ***** Test Step 11 : Step 4e: Read the optional attribute (ActiveTimestamp) in AttributeList\n"); + if (ShouldSkip("DGTHREAD.S.A0038")) { NextTest(); return; } - err = TestStep4dThReadsFeatureDependentAttributeDgthreadsf03maccntInAttributeList_11(); + err = TestStep4eReadTheOptionalAttributeActiveTimestampInAttributeList_11(); break; case 12: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 4e: Read the optional attribute (ActiveTimestamp) in AttributeList\n"); - if (ShouldSkip("DGTHREAD.S.A0038")) { + chipTool, " ***** Test Step 12 : Step 4f: Read the optional attribute (PendingTimestamp) in AttributeList\n"); + if (ShouldSkip("DGTHREAD.S.A0039")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeActiveTimestampInAttributeList_12(); + err = TestStep4fReadTheOptionalAttributePendingTimestampInAttributeList_12(); break; case 13: - ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 4f: Read the optional attribute (PendingTimestamp) in AttributeList\n"); - if (ShouldSkip("DGTHREAD.S.A0039")) { + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4g: Read the optional attribute (Delay) in AttributeList\n"); + if (ShouldSkip("DGTHREAD.S.A003a")) { NextTest(); return; } - err = TestStep4fReadTheOptionalAttributePendingTimestampInAttributeList_13(); + err = TestStep4gReadTheOptionalAttributeDelayInAttributeList_13(); break; case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4g: Read the optional attribute (Delay) in AttributeList\n"); - if (ShouldSkip("DGTHREAD.S.A003a")) { + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + if (ShouldSkip(" !DGTHREAD.S.F01 ")) { NextTest(); return; } - err = TestStep4gReadTheOptionalAttributeDelayInAttributeList_14(); + err = TestStep6aThReadsAcceptedCommandListFromDut_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5a: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !DGTHREAD.S.E00 && !DGTHREAD.S.E01 ")) { + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6b: TH reads AcceptedCommandList from DUT\n"); + if (ShouldSkip("DGTHREAD.S.F01")) { NextTest(); return; } - NextTest(); - return; + err = TestStep6bThReadsAcceptedCommandListFromDut_15(); + break; case 16: - ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 5b: TH reads DGTHREAD.S.E00(ConnectionStatus) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGTHREAD.S.E00")) { + ChipLogProgress(chipTool, + " ***** Test Step 16 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; + err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + break; case 17: - ChipLogProgress( - chipTool, " ***** Test Step 17 : Step 5c: TH reads DGTHREAD.S.E01(NetworkFaultChange) event in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGTHREAD.S.E01")) { - NextTest(); - return; - } - NextTest(); - return; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip(" !DGTHREAD.S.F01 ")) { - NextTest(); - return; - } - err = TestStep6aThReadsAcceptedCommandListFromDut_18(); + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 7a: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7aThReadsGeneratedCommandListFromDut_17(); break; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 6b: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip("DGTHREAD.S.F01")) { + case 18: + ChipLogProgress(chipTool, + " ***** Test Step 18 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListFromDut_19(); - break; - case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : Step 7: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7ThReadsGeneratedCommandListFromDut_20(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); break; } @@ -99122,12 +96384,6 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -99141,7 +96397,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 21; + const uint16_t mTestCount = 19; chip::Optional mNodeId; chip::Optional mCluster; @@ -99301,51 +96557,6 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads mandatory attributes in AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 10UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 11UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 12UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 13UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 59UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 60UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 61UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 62UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aThReadsMandatoryAttributesInAttributeListFromDut_8() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterThreadNetworkDiagnostics alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads mandatory attributes in AttributeList from DUT Error: %@", err); @@ -99381,7 +96592,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFeatureDependentAttributeDGTHREADSF01ERRCNTInAttributeList_9() + CHIP_ERROR TestStep4bThReadsFeatureDependentAttributeDGTHREADSF01ERRCNTInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99404,7 +96615,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsFeatureDependentAttributeDgthreadsf02mlecntInAttributeList_10() + CHIP_ERROR TestStep4cThReadsFeatureDependentAttributeDgthreadsf02mlecntInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99434,7 +96645,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsFeatureDependentAttributeDgthreadsf03maccntInAttributeList_11() + CHIP_ERROR TestStep4dThReadsFeatureDependentAttributeDgthreadsf03maccntInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99490,7 +96701,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeActiveTimestampInAttributeList_12() + CHIP_ERROR TestStep4eReadTheOptionalAttributeActiveTimestampInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99513,7 +96724,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalAttributePendingTimestampInAttributeList_13() + CHIP_ERROR TestStep4fReadTheOptionalAttributePendingTimestampInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99536,7 +96747,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheOptionalAttributeDelayInAttributeList_14() + CHIP_ERROR TestStep4gReadTheOptionalAttributeDelayInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99559,7 +96770,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_18() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99585,7 +96796,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_19() + CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99608,7 +96819,18 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_20() + CHIP_ERROR + TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + { + + 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 TestStep7aThReadsGeneratedCommandListFromDut_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99618,7 +96840,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: TH reads GeneratedCommandList from DUT Error: %@", err); + NSLog(@"Step 7a: TH reads GeneratedCommandList from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -99633,6 +96855,17 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { @@ -99755,211 +96988,201 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TS4: Check for mandatory attributes in AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestTs4CheckForMandatoryAttributesInAttributeList_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : TS4: Check for mandatory attributes in AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 11 : TS4: Check for optional attribute TimeSource in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.A0002")) { NextTest(); return; } - err = TestTs4CheckForMandatoryAttributesInAttributeList_11(); + err = TestTs4CheckForOptionalAttributeTimeSourceInAttributeList_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : TS4: Check for optional attribute TimeSource in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 12 : TS4: Check for optional attribute TimeSource not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.A0002")) { NextTest(); return; } - err = TestTs4CheckForOptionalAttributeTimeSourceInAttributeList_12(); + err = TestTs4CheckForOptionalAttributeTimeSourceNotInAttributeList_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : TS4: Check for optional attribute TimeSource not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 13 : TS4: Check for TZ feature-based attributes in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs4CheckForOptionalAttributeTimeSourceNotInAttributeList_13(); + err = TestTs4CheckForTzFeatureBasedAttributesInAttributeList_13(); break; case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : TS4: Check for TZ feature-based attributes in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 14 : TS4: Check for TZ feature-based attributes not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs4CheckForTzFeatureBasedAttributesInAttributeList_14(); + err = TestTs4CheckForTzFeatureBasedAttributesNotInAttributeList_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : TS4: Check for TZ feature-based attributes not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 15 : TS4: Check for NTPC feature-based attributes in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.F01")) { NextTest(); return; } - err = TestTs4CheckForTzFeatureBasedAttributesNotInAttributeList_15(); + err = TestTs4CheckForNtpcFeatureBasedAttributesInAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : TS4: Check for NTPC feature-based attributes in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.F01")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : TS4: Check for NTPC feature-based attributes not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.F01")) { NextTest(); return; } - err = TestTs4CheckForNtpcFeatureBasedAttributesInAttributeList_16(); + err = TestTs4CheckForNtpcFeatureBasedAttributesNotInAttributeList_16(); break; case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : TS4: Check for NTPC feature-based attributes not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.F01")) { + ChipLogProgress(chipTool, " ***** Test Step 17 : TS4: Check for NTPS feature-based attributes in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.F02")) { NextTest(); return; } - err = TestTs4CheckForNtpcFeatureBasedAttributesNotInAttributeList_17(); + err = TestTs4CheckForNtpsFeatureBasedAttributesInAttributeList_17(); break; case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : TS4: Check for NTPS feature-based attributes in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.F02")) { + ChipLogProgress(chipTool, " ***** Test Step 18 : TS4: Check for NTPS feature-based attributes not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.F02")) { NextTest(); return; } - err = TestTs4CheckForNtpsFeatureBasedAttributesInAttributeList_18(); + err = TestTs4CheckForNtpsFeatureBasedAttributesNotInAttributeList_18(); break; case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : TS4: Check for NTPS feature-based attributes not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.F02")) { + ChipLogProgress(chipTool, " ***** Test Step 19 : TS4: Check for TSC feature-based attributes in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.F03")) { NextTest(); return; } - err = TestTs4CheckForNtpsFeatureBasedAttributesNotInAttributeList_19(); + err = TestTs4CheckForTscFeatureBasedAttributesInAttributeList_19(); break; case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : TS4: Check for TSC feature-based attributes in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.F03")) { + ChipLogProgress(chipTool, " ***** Test Step 20 : TS4: Check for TSC feature-based attributes not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.F03")) { NextTest(); return; } - err = TestTs4CheckForTscFeatureBasedAttributesInAttributeList_20(); + err = TestTs4CheckForTscFeatureBasedAttributesNotInAttributeList_20(); break; case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : TS4: Check for TSC feature-based attributes not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.F03")) { + ChipLogProgress(chipTool, + " ***** Test Step 21 : TS4: Check for mandatory attributes in AttributeList. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestTs4CheckForTscFeatureBasedAttributesNotInAttributeList_21(); + err = TestTs4CheckForMandatoryAttributesInAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21(); break; case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : TS5: Check for mandatory events in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : TS5: Check for TZ feature-based events in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F00")) { - NextTest(); - return; - } - NextTest(); - return; - case 24: - ChipLogProgress(chipTool, " ***** Test Step 24 : TS5: Check for TZ feature-based events not in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F00")) { - NextTest(); - return; - } - NextTest(); - return; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : TS5: Check for TSC feature-based events in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F03")) { - NextTest(); - return; - } - NextTest(); - return; - case 26: - ChipLogProgress(chipTool, " ***** Test Step 26 : TS5: Check for TSC feature-based events not in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F03")) { - NextTest(); - return; - } - NextTest(); - return; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : TS6: Check for mandatory commands in AcceptedCommandList\n"); - err = TestTs6CheckForMandatoryCommandsInAcceptedCommandList_27(); + ChipLogProgress(chipTool, " ***** Test Step 22 : TS6: Check for mandatory commands in AcceptedCommandList\n"); + err = TestTs6CheckForMandatoryCommandsInAcceptedCommandList_22(); break; - case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : TS6: Check for TZ feature-based commands in AcceptedCommandList\n"); + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : TS6: Check for TZ feature-based commands in AcceptedCommandList\n"); if (ShouldSkip("TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_28(); + err = TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_23(); break; - case 29: + case 24: ChipLogProgress( - chipTool, " ***** Test Step 29 : TS6: Check for TZ feature-based commands in not AcceptedCommandList\n"); + chipTool, " ***** Test Step 24 : TS6: Check for TZ feature-based commands in not AcceptedCommandList\n"); if (ShouldSkip("!TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_29(); + err = TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_24(); break; - case 30: - ChipLogProgress(chipTool, " ***** Test Step 30 : TS6: Check for NTPC feature-based commands in AcceptedCommandList\n"); + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : TS6: Check for NTPC feature-based commands in AcceptedCommandList\n"); if (ShouldSkip("TIMESYNC.S.F01")) { NextTest(); return; } - err = TestTs6CheckForNtpcFeatureBasedCommandsInAcceptedCommandList_30(); + err = TestTs6CheckForNtpcFeatureBasedCommandsInAcceptedCommandList_25(); break; - case 31: + case 26: ChipLogProgress( - chipTool, " ***** Test Step 31 : TS6: Check for NTPC feature-based commands in not AcceptedCommandList\n"); + chipTool, " ***** Test Step 26 : TS6: Check for NTPC feature-based commands in not AcceptedCommandList\n"); if (ShouldSkip("!TIMESYNC.S.F01")) { NextTest(); return; } - err = TestTs6CheckForNtpcFeatureBasedCommandsInNotAcceptedCommandList_31(); + err = TestTs6CheckForNtpcFeatureBasedCommandsInNotAcceptedCommandList_26(); break; - case 32: - ChipLogProgress(chipTool, " ***** Test Step 32 : TS6: Check for TSC feature-based commands in AcceptedCommandList\n"); + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : TS6: Check for TSC feature-based commands in AcceptedCommandList\n"); if (ShouldSkip("TIMESYNC.S.F03")) { NextTest(); return; } - err = TestTs6CheckForTscFeatureBasedCommandsInAcceptedCommandList_32(); + err = TestTs6CheckForTscFeatureBasedCommandsInAcceptedCommandList_27(); break; - case 33: + case 28: ChipLogProgress( - chipTool, " ***** Test Step 33 : TS6: Check for TSC feature-based commands in not AcceptedCommandList\n"); + chipTool, " ***** Test Step 28 : TS6: Check for TSC feature-based commands in not AcceptedCommandList\n"); if (ShouldSkip("!TIMESYNC.S.F03")) { NextTest(); return; } - err = TestTs6CheckForTscFeatureBasedCommandsInNotAcceptedCommandList_33(); + err = TestTs6CheckForTscFeatureBasedCommandsInNotAcceptedCommandList_28(); break; - case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : TS6: Check for TZ feature-based commands in AcceptedCommandList\n"); + case 29: + ChipLogProgress(chipTool, + " ***** Test Step 29 : TS6: Check for mandatory commands in AcceptedCommandList. 1. The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestTs6CheckForMandatoryCommandsInAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : TS7: Check for TZ feature-based commands in GeneratedCommandList\n"); if (ShouldSkip("TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_34(); + err = TestTs7CheckForTzFeatureBasedCommandsInGeneratedCommandList_30(); break; - case 35: + case 31: ChipLogProgress( - chipTool, " ***** Test Step 35 : TS6: Check for TZ feature-based commands in not AcceptedCommandList\n"); + chipTool, " ***** Test Step 31 : TS7: Check for TZ feature-based commands in not GeneratedCommandList\n"); if (ShouldSkip("!TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_35(); + err = TestTs7CheckForTzFeatureBasedCommandsInNotGeneratedCommandList_31(); + break; + case 32: + ChipLogProgress(chipTool, + " ***** Test Step 32 : TS7: Check for mandatory commands in GeneratedCommandList. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestTs7CheckForMandatoryCommandsInGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_32(); break; } @@ -100071,15 +97294,6 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 33: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 34: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 35: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -100093,7 +97307,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 36; + const uint16_t mTestCount = 33; chip::Optional mNodeId; chip::Optional mCluster; @@ -100319,7 +97533,6 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -100330,35 +97543,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForMandatoryAttributesInAttributeList_11() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterTimeSynchronization alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"TS4: Check for mandatory attributes in AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestTs4CheckForOptionalAttributeTimeSourceInAttributeList_12() + CHIP_ERROR TestTs4CheckForOptionalAttributeTimeSourceInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100380,7 +97565,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForOptionalAttributeTimeSourceNotInAttributeList_13() + CHIP_ERROR TestTs4CheckForOptionalAttributeTimeSourceNotInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100402,7 +97587,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForTzFeatureBasedAttributesInAttributeList_14() + CHIP_ERROR TestTs4CheckForTzFeatureBasedAttributesInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100429,7 +97614,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForTzFeatureBasedAttributesNotInAttributeList_15() + CHIP_ERROR TestTs4CheckForTzFeatureBasedAttributesNotInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100456,7 +97641,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForNtpcFeatureBasedAttributesInAttributeList_16() + CHIP_ERROR TestTs4CheckForNtpcFeatureBasedAttributesInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100479,7 +97664,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForNtpcFeatureBasedAttributesNotInAttributeList_17() + CHIP_ERROR TestTs4CheckForNtpcFeatureBasedAttributesNotInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100502,7 +97687,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForNtpsFeatureBasedAttributesInAttributeList_18() + CHIP_ERROR TestTs4CheckForNtpsFeatureBasedAttributesInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100524,7 +97709,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForNtpsFeatureBasedAttributesNotInAttributeList_19() + CHIP_ERROR TestTs4CheckForNtpsFeatureBasedAttributesNotInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100546,7 +97731,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForTscFeatureBasedAttributesInAttributeList_20() + CHIP_ERROR TestTs4CheckForTscFeatureBasedAttributesInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100568,7 +97753,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForTscFeatureBasedAttributesNotInAttributeList_21() + CHIP_ERROR TestTs4CheckForTscFeatureBasedAttributesNotInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100590,7 +97775,18 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForMandatoryCommandsInAcceptedCommandList_27() + CHIP_ERROR + TestTs4CheckForMandatoryAttributesInAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21() + { + + 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 TestTs6CheckForMandatoryCommandsInAcceptedCommandList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100612,7 +97808,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_28() + CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100635,7 +97831,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_29() + CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100658,7 +97854,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForNtpcFeatureBasedCommandsInAcceptedCommandList_30() + CHIP_ERROR TestTs6CheckForNtpcFeatureBasedCommandsInAcceptedCommandList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100680,7 +97876,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForNtpcFeatureBasedCommandsInNotAcceptedCommandList_31() + CHIP_ERROR TestTs6CheckForNtpcFeatureBasedCommandsInNotAcceptedCommandList_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100702,7 +97898,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTscFeatureBasedCommandsInAcceptedCommandList_32() + CHIP_ERROR TestTs6CheckForTscFeatureBasedCommandsInAcceptedCommandList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100724,7 +97920,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTscFeatureBasedCommandsInNotAcceptedCommandList_33() + CHIP_ERROR TestTs6CheckForTscFeatureBasedCommandsInNotAcceptedCommandList_28() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100746,7 +97942,18 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_34() + CHIP_ERROR + TestTs6CheckForMandatoryCommandsInAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() + { + + 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 TestTs7CheckForTzFeatureBasedCommandsInGeneratedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100756,7 +97963,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"TS6: Check for TZ feature-based commands in AcceptedCommandList Error: %@", err); + NSLog(@"TS7: Check for TZ feature-based commands in GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -100768,7 +97975,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_35() + CHIP_ERROR TestTs7CheckForTzFeatureBasedCommandsInNotGeneratedCommandList_31() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100778,7 +97985,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"TS6: Check for TZ feature-based commands in not AcceptedCommandList Error: %@", err); + NSLog(@"TS7: Check for TZ feature-based commands in not GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -100789,6 +97996,17 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestTs7CheckForMandatoryCommandsInGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_32() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_TIMESYNC_2_3 : public TestCommandBridge { @@ -101123,88 +98341,55 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: Read the global attribute: ClusterRevision\n"); - if (ShouldSkip("ULABEL.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ReadTheGlobalAttributeClusterRevision_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3: Read the global attribute: FeatureMap\n"); - if (ShouldSkip("ULABEL.S.Afffc")) { - NextTest(); - return; - } err = TestStep3ReadTheGlobalAttributeFeatureMap_2(); break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && ULABEL.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && ULABEL.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4aReadTheGlobalAttributeAttributeList_4(); - break; - case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " + " ***** Test Step 4 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && ULABEL.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); - break; - case 6: - ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 5: Read the global attribute: EventList. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && ULABEL.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5ReadTheGlobalAttributeEventList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); break; - case 7: + case 5: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 6: Read the global attribute: AcceptedCommandList. 1.The list MAY contain values in the " + " ***** Test Step 5 : Step 6: Read the global attribute: AcceptedCommandList. 1.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && ULABEL.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 8: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7: Read the global attribute: GeneratedCommandList. 1.The list MAY contain values in " + " ***** Test Step 6 : Step 7: Read the global attribute: GeneratedCommandList. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && ULABEL.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; } @@ -101238,12 +98423,6 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -101257,7 +98436,7 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -101327,33 +98506,6 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterUserLabel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterUserLabel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -101374,7 +98526,7 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -101385,7 +98537,7 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep5ReadTheGlobalAttributeEventList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6ReadTheGlobalAttributeAcceptedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -101396,18 +98548,7 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ReadTheGlobalAttributeAcceptedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() - { - - 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 - TestStep7ReadTheGlobalAttributeGeneratedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep7ReadTheGlobalAttributeGeneratedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -102203,104 +99344,57 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aThReadsAttributeListFromDut_6(); - break; - case 7: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 4b: TH reads Feature dependent(DGWIFI.S.F00) attributes in attributeList from DUT\n"); + " ***** Test Step 6 : Step 4b: TH reads Feature dependent(DGWIFI.S.F00) attributes in attributeList from DUT\n"); if (ShouldSkip("DGWIFI.S.F00")) { NextTest(); return; } - err = TestStep4bThReadsFeatureDependentDGWIFISF00AttributesInAttributeListFromDut_7(); + err = TestStep4bThReadsFeatureDependentDGWIFISF00AttributesInAttributeListFromDut_6(); break; - case 8: + case 7: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4c: TH reads Feature dependent(DGWIFI.S.F01) attributes in attributeList from DUT\n"); + " ***** Test Step 7 : Step 4c: TH reads Feature dependent(DGWIFI.S.F01) attributes in attributeList from DUT\n"); if (ShouldSkip("DGWIFI.S.F01")) { NextTest(); return; } - err = TestStep4cThReadsFeatureDependentDGWIFISF01AttributesInAttributeListFromDut_8(); + err = TestStep4cThReadsFeatureDependentDGWIFISF01AttributesInAttributeListFromDut_7(); break; - case 9: + case 8: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4d: TH reads optional attribute (CurrentMaxRate) in AttributeList from DUT\n"); + chipTool, " ***** Test Step 8 : Step 4d: TH reads optional attribute (CurrentMaxRate) in AttributeList from DUT\n"); if (ShouldSkip("DGWIFI.S.A000b")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributeCurrentMaxRateInAttributeListFromDut_9(); + err = TestStep4dThReadsOptionalAttributeCurrentMaxRateInAttributeListFromDut_8(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 5a: TH reads AcceptedCommandList from DUT\n"); + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5a: TH reads AcceptedCommandList from DUT\n"); if (ShouldSkip(" !DGWIFI.S.F01 ")) { NextTest(); return; } - err = TestStep5aThReadsAcceptedCommandListFromDut_10(); + err = TestStep5aThReadsAcceptedCommandListFromDut_9(); break; - case 11: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 5b: TH reads Feature dependent(DGWIFI.S.F01) command in AcceptedCommandList from " + " ***** Test Step 10 : Step 5b: TH reads Feature dependent(DGWIFI.S.F01) command in AcceptedCommandList from " "DUT\n"); if (ShouldSkip("DGWIFI.S.F01")) { NextTest(); return; } - err = TestStep5bThReadsFeatureDependentDGWIFISF01CommandInAcceptedCommandListFromDut_11(); + err = TestStep5bThReadsFeatureDependentDGWIFISF01CommandInAcceptedCommandListFromDut_10(); break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6: TH reads GeneratedCommandList from DUT\n"); - err = TestStep6ThReadsGeneratedCommandListFromDut_12(); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6: TH reads GeneratedCommandList from DUT\n"); + err = TestStep6ThReadsGeneratedCommandListFromDut_11(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7a: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !DGWIFI.S.E00 && !DGWIFI.S.E01 && !DGWIFI.S.E02 ")) { - NextTest(); - return; - } - NextTest(); - return; - case 14: - ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 7b: TH reads optional attribute (Disconnection) in EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGWIFI.S.E00")) { - NextTest(); - return; - } - NextTest(); - return; - case 15: - ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 7c: TH reads optional attribute (AssociationFailure) in EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGWIFI.S.E01")) { - NextTest(); - return; - } - NextTest(); - return; - case 16: - ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 7d: TH reads optional attribute (ConnectionStatus) in EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGWIFI.S.E02")) { - NextTest(); - return; - } - NextTest(); - return; } if (CHIP_NO_ERROR != err) { @@ -102348,21 +99442,6 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 12: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 13: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -102376,7 +99455,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 17; + const uint16_t mTestCount = 12; chip::Optional mNodeId; chip::Optional mCluster; @@ -102507,7 +99586,6 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -102518,39 +99596,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_6() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterWiFiNetworkDiagnostics alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bThReadsFeatureDependentDGWIFISF00AttributesInAttributeListFromDut_7() + CHIP_ERROR TestStep4bThReadsFeatureDependentDGWIFISF00AttributesInAttributeListFromDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -102577,7 +99623,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsFeatureDependentDGWIFISF01AttributesInAttributeListFromDut_8() + CHIP_ERROR TestStep4cThReadsFeatureDependentDGWIFISF01AttributesInAttributeListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -102601,7 +99647,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeCurrentMaxRateInAttributeListFromDut_9() + CHIP_ERROR TestStep4dThReadsOptionalAttributeCurrentMaxRateInAttributeListFromDut_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -102624,7 +99670,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5aThReadsAcceptedCommandListFromDut_10() + CHIP_ERROR TestStep5aThReadsAcceptedCommandListFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -102650,7 +99696,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5bThReadsFeatureDependentDGWIFISF01CommandInAcceptedCommandListFromDut_11() + CHIP_ERROR TestStep5bThReadsFeatureDependentDGWIFISF01CommandInAcceptedCommandListFromDut_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -102673,7 +99719,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThReadsGeneratedCommandListFromDut_12() + CHIP_ERROR TestStep6ThReadsGeneratedCommandListFromDut_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -103660,15 +100706,11 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { case 1: ChipLogProgress( chipTool, " ***** Test Step 1 : Step 2: TH reads from the DUT the (0xFFFD) ClusterRevision attribute\n"); - if (ShouldSkip("WNCV.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsFromTheDutThe0xFFFDClusterRevisionAttribute_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads from the DUT the (0xFFFC) FeatureMap attribute\n"); - if (ShouldSkip(" WNCV.S.Afffc && !WNCV.S.F00 && !WNCV.S.F01 && !WNCV.S.F02 && !WNCV.S.F03 && !WNCV.S.F04 ")) { + if (ShouldSkip("!WNCV.S.F00 && !WNCV.S.F01 && !WNCV.S.F02 && !WNCV.S.F03 && !WNCV.S.F04 ")) { NextTest(); return; } @@ -103721,122 +100763,93 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && WNCV.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && WNCV.S.Afffb")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList\n"); + if (ShouldSkip("WNCV.S.A001a")) { NextTest(); return; } - err = TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_9(); + err = TestStep4bThReadsOptionalAttributeSafetyStatusInAttributeList_9(); break; case 10: - ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList\n"); - if (ShouldSkip("WNCV.S.Afffb && WNCV.S.A001a")) { + ChipLogProgress(chipTool, + " ***** Test Step 10 : Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in " + "AttributeList\n"); + if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeSafetyStatusInAttributeList_10(); + err = TestStep4cReadTheFeatureDependentWNCVSF00Wncvsf02Wncvsf03AttributeInAttributeList_10(); break; case 11: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in " - "AttributeList\n"); - if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03 && WNCV.S.Afffb")) { + " ***** Test Step 11 : Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList\n"); + if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02")) { NextTest(); return; } - err = TestStep4cReadTheFeatureDependentWNCVSF00Wncvsf02Wncvsf03AttributeInAttributeList_11(); + err = TestStep4dReadTheFeatureDependentWNCVSF00Wncvsf02AttributeInAttributeList_11(); break; case 12: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList\n"); - if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.Afffb")) { + " ***** Test Step 12 : Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in " + "AttributeList\n"); + if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03")) { NextTest(); return; } - err = TestStep4dReadTheFeatureDependentWNCVSF00Wncvsf02AttributeInAttributeList_12(); + err = TestStep4eReadTheFeatureDependentWNCVSF01Wncvsf04Wncvsf03AttributeInAttributeList_12(); break; case 13: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in " - "AttributeList\n"); - if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03 && WNCV.S.Afffb")) { + " ***** Test Step 13 : Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList\n"); + if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04")) { NextTest(); return; } - err = TestStep4eReadTheFeatureDependentWNCVSF01Wncvsf04Wncvsf03AttributeInAttributeList_13(); + err = TestStep4fReadTheFeatureDependentWNCVSF01Wncvsf04AttributeInAttributeList_13(); break; case 14: - ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList\n"); - if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4fReadTheFeatureDependentWNCVSF01Wncvsf04AttributeInAttributeList_14(); - break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5: Read the global attribute: EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 16: ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute\n"); - if (ShouldSkip("WNCV.S.Afff9")) { - NextTest(); - return; - } - err = TestStep6aThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_16(); + chipTool, " ***** Test Step 14 : Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute\n"); + err = TestStep6aThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_14(); break; - case 17: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in " + " ***** Test Step 15 : Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in " "AcceptedCommandList\n"); - if (ShouldSkip("WNCV.S.Afff9 && WNCV.S.F00 && WNCV.S.F02")) { + if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02")) { NextTest(); return; } - err = TestStep6bThReadsFeatureDependentWNCVSF00Wncvsf02CommandInAcceptedCommandList_17(); + err = TestStep6bThReadsFeatureDependentWNCVSF00Wncvsf02CommandInAcceptedCommandList_15(); break; - case 18: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in " + " ***** Test Step 16 : Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in " "AcceptedCommandList\n"); - if (ShouldSkip("WNCV.S.Afff9 && WNCV.S.F01 && WNCV.S.F03")) { + if (ShouldSkip("WNCV.S.F01 && WNCV.S.F03")) { NextTest(); return; } - err = TestStep6cThReadsFeatureDependentWNCVSF01Wncvsf03CommandInAcceptedCommandList_18(); + err = TestStep6cThReadsFeatureDependentWNCVSF01Wncvsf03CommandInAcceptedCommandList_16(); break; - case 19: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in " + " ***** Test Step 17 : Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in " "AcceptedCommandList\n"); - if (ShouldSkip("WNCV.S.Afff9 && WNCV.S.F01 && WNCV.S.F04")) { + if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04")) { NextTest(); return; } - err = TestStep6dThReadsFeatureDependentWNCVSF01Wncvsf04CommandInAcceptedCommandList_19(); + err = TestStep6dThReadsFeatureDependentWNCVSF01Wncvsf04CommandInAcceptedCommandList_17(); break; - case 20: + case 18: ChipLogProgress( - chipTool, " ***** Test Step 20 : Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute\n"); - if (ShouldSkip("WNCV.S.Afff8")) { - NextTest(); - return; - } - err = TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_20(); + chipTool, " ***** Test Step 18 : Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute\n"); + err = TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_18(); break; } @@ -103906,12 +100919,6 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 19: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 20: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -103925,7 +100932,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 21; + const uint16_t mTestCount = 19; chip::Optional mNodeId; chip::Optional mCluster; @@ -104093,37 +101100,6 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterWindowCovering alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 10UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 13UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 23UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_9() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterWindowCovering alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute Error: %@", err); @@ -104147,7 +101123,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeSafetyStatusInAttributeList_10() + CHIP_ERROR TestStep4bThReadsOptionalAttributeSafetyStatusInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104168,7 +101144,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheFeatureDependentWNCVSF00Wncvsf02Wncvsf03AttributeInAttributeList_11() + CHIP_ERROR TestStep4cReadTheFeatureDependentWNCVSF00Wncvsf02Wncvsf03AttributeInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104191,7 +101167,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheFeatureDependentWNCVSF00Wncvsf02AttributeInAttributeList_12() + CHIP_ERROR TestStep4dReadTheFeatureDependentWNCVSF00Wncvsf02AttributeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104213,7 +101189,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheFeatureDependentWNCVSF01Wncvsf04Wncvsf03AttributeInAttributeList_13() + CHIP_ERROR TestStep4eReadTheFeatureDependentWNCVSF01Wncvsf04Wncvsf03AttributeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104236,7 +101212,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheFeatureDependentWNCVSF01Wncvsf04AttributeInAttributeList_14() + CHIP_ERROR TestStep4fReadTheFeatureDependentWNCVSF01Wncvsf04AttributeInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104258,7 +101234,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_16() + CHIP_ERROR TestStep6aThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104281,7 +101257,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsFeatureDependentWNCVSF00Wncvsf02CommandInAcceptedCommandList_17() + CHIP_ERROR TestStep6bThReadsFeatureDependentWNCVSF00Wncvsf02CommandInAcceptedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104302,7 +101278,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cThReadsFeatureDependentWNCVSF01Wncvsf03CommandInAcceptedCommandList_18() + CHIP_ERROR TestStep6cThReadsFeatureDependentWNCVSF01Wncvsf03CommandInAcceptedCommandList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104323,7 +101299,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dThReadsFeatureDependentWNCVSF01Wncvsf04CommandInAcceptedCommandList_19() + CHIP_ERROR TestStep6dThReadsFeatureDependentWNCVSF01Wncvsf04CommandInAcceptedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -104344,7 +101320,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_20() + CHIP_ERROR TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -152149,15 +149125,11 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { break; case 1: ChipLogProgress(chipTool, " ***** Test Step 1 : Step 2: TH reads the ClusterRevision from DUT\n"); - if (ShouldSkip("DGSW.S.Afffd")) { - NextTest(); - return; - } err = TestStep2ThReadsTheClusterRevisionFromDut_1(); break; case 2: ChipLogProgress(chipTool, " ***** Test Step 2 : Step 3a: TH reads the FeatureMap from DUT\n"); - if (ShouldSkip(" !DGSW.S.F00 && DGSW.S.Afffc")) { + if (ShouldSkip(" !DGSW.S.F00 ")) { NextTest(); return; } @@ -152166,7 +149138,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { case 3: ChipLogProgress( chipTool, " ***** Test Step 3 : Step 3b: Given DGSW.S.F00(Watermarks) ensure featuremap has the correct bit set\n"); - if (ShouldSkip("DGSW.S.F00 && DGSW.S.Afffc")) { + if (ShouldSkip("DGSW.S.F00")) { NextTest(); return; } @@ -152174,141 +149146,100 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGSW.S.Afffb")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && DGSW.S.Afffb")) { + ChipLogProgress( + chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList\n"); + if (ShouldSkip("DGSW.S.A0000")) { NextTest(); return; } - err = TestStep4aThReadsAttributeListFromDut_5(); + err = TestStep4bThReadsOptionalAttributeThreadMetricsInAttributeList_5(); break; case 6: ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList\n"); - if (ShouldSkip("DGSW.S.A0000 && DGSW.S.Afffb")) { + chipTool, " ***** Test Step 6 : Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList\n"); + if (ShouldSkip("DGSW.S.A0001")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeThreadMetricsInAttributeList_6(); + err = TestStep4cThReadsOptionalAttributeCurrentHeapFreeInAttributeList_6(); break; case 7: ChipLogProgress( - chipTool, " ***** Test Step 7 : Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList\n"); - if (ShouldSkip("DGSW.S.A0001 && DGSW.S.Afffb")) { + chipTool, " ***** Test Step 7 : Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList\n"); + if (ShouldSkip("DGSW.S.A0002")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributeCurrentHeapFreeInAttributeList_7(); + err = TestStep4dThReadsOptionalAttributeCurrentHeapUsedInAttributeList_7(); break; case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList\n"); - if (ShouldSkip("DGSW.S.A0002 && DGSW.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4dThReadsOptionalAttributeCurrentHeapUsedInAttributeList_8(); - break; - case 9: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList\n"); - if (ShouldSkip("( DGSW.S.F00 || DGSW.S.A0003 ) && DGSW.S.Afffb")) { + " ***** Test Step 8 : Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList\n"); + if (ShouldSkip("( DGSW.S.F00 || DGSW.S.A0003 )")) { NextTest(); return; } - err = TestStep4eThReadsFeatureDependentAttributeCurrentHeapHighWatermarkInAttributeList_9(); + err = TestStep4eThReadsFeatureDependentAttributeCurrentHeapHighWatermarkInAttributeList_8(); break; - case 10: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 9 : Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGSW.S.Afffb")) { - NextTest(); - return; - } - err = TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); - break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5a: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DGSW.S.E00 && DGSW.S.Afffa")) { - NextTest(); - return; - } - NextTest(); - return; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5b: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !DGSW.S.E00 && DGSW.S.Afffa ")) { - NextTest(); - return; - } - NextTest(); - return; - case 13: - ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 5c: TH reads EventList attribute from DUT. 1.The list MAY contain values in the " - "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " - "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " - "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " - "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGSW.S.Afffa")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep5cThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + err = TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip("DGSW.S.F00 && DGSW.S.Afff9")) { + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + if (ShouldSkip("DGSW.S.F00")) { NextTest(); return; } - err = TestStep6aThReadsAcceptedCommandListFromDut_14(); + err = TestStep6aThReadsAcceptedCommandListFromDut_10(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6b: TH reads AcceptedCommandList from DUT\n"); - if (ShouldSkip(" !DGSW.S.F00 && DGSW.S.Afff9")) { + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6b: TH reads AcceptedCommandList from DUT\n"); + if (ShouldSkip(" !DGSW.S.F00 ")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListFromDut_15(); + err = TestStep6bThReadsAcceptedCommandListFromDut_11(); break; - case 16: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 12 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " "or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGSW.S.Afff9")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; - case 17: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 13 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && DGSW.S.Afff8")) { + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); break; } @@ -152363,18 +149294,6 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 15: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 16: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 17: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -152388,7 +149307,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 18; + const uint16_t mTestCount = 14; chip::Optional mNodeId; chip::Optional mCluster; @@ -152493,7 +149412,6 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -152504,34 +149422,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterSoftwareDiagnostics alloc] initWithDevice:device - endpointID:@(0) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bThReadsOptionalAttributeThreadMetricsInAttributeList_6() + CHIP_ERROR TestStep4bThReadsOptionalAttributeThreadMetricsInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -152554,7 +149445,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeCurrentHeapFreeInAttributeList_7() + CHIP_ERROR TestStep4cThReadsOptionalAttributeCurrentHeapFreeInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -152577,7 +149468,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeCurrentHeapUsedInAttributeList_8() + CHIP_ERROR TestStep4dThReadsOptionalAttributeCurrentHeapUsedInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -152600,7 +149491,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsFeatureDependentAttributeCurrentHeapHighWatermarkInAttributeList_9() + CHIP_ERROR TestStep4eThReadsFeatureDependentAttributeCurrentHeapHighWatermarkInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -152624,7 +149515,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -152634,18 +149525,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR - TestStep5cThReadsEventListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() - { - - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt("alpha", value); - } - - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_14() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -152668,7 +149548,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_15() + CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -152695,7 +149575,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -152706,7 +149586,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -166537,308 +163417,270 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aThReadsAttributeListFromDut_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4aThReadsAttributeListFromDut_15(); - break; - case 16: ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 4b: TH reads Feature dependent(DRLK.S.F05) attributes in AttributeList\n"); + chipTool, " ***** Test Step 15 : Step 4b: TH reads Feature dependent(DRLK.S.F05) attributes in AttributeList\n"); if (ShouldSkip("DRLK.S.F05")) { NextTest(); return; } - err = TestStep4bThReadsFeatureDependentDRLKSF05AttributesInAttributeList_16(); + err = TestStep4bThReadsFeatureDependentDRLKSF05AttributesInAttributeList_15(); break; - case 17: + case 16: ChipLogProgress( - chipTool, " ***** Test Step 17 : Step 4c: TH reads Feature dependent(DRLK.S.F08) attributes in AttributeList\n"); + chipTool, " ***** Test Step 16 : Step 4c: TH reads Feature dependent(DRLK.S.F08) attributes in AttributeList\n"); if (ShouldSkip("DRLK.S.F08")) { NextTest(); return; } - err = TestStep4cThReadsFeatureDependentDRLKSF08AttributesInAttributeList_17(); + err = TestStep4cThReadsFeatureDependentDRLKSF08AttributesInAttributeList_16(); break; - case 18: + case 17: ChipLogProgress( - chipTool, " ***** Test Step 18 : Step 4d: TH reads Feature dependent(DRLK.S.F00) attributes in AttributeList\n"); + chipTool, " ***** Test Step 17 : Step 4d: TH reads Feature dependent(DRLK.S.F00) attributes in AttributeList\n"); if (ShouldSkip("DRLK.S.F00")) { NextTest(); return; } - err = TestStep4dThReadsFeatureDependentDRLKSF00AttributesInAttributeList_18(); + err = TestStep4dThReadsFeatureDependentDRLKSF00AttributesInAttributeList_17(); break; - case 19: + case 18: ChipLogProgress( - chipTool, " ***** Test Step 19 : Step 4e: TH reads Feature dependent(DRLK.S.F01) attributes in AttributeList\n"); + chipTool, " ***** Test Step 18 : Step 4e: TH reads Feature dependent(DRLK.S.F01) attributes in AttributeList\n"); if (ShouldSkip("DRLK.S.F01")) { NextTest(); return; } - err = TestStep4eThReadsFeatureDependentDRLKSF01AttributesInAttributeList_19(); + err = TestStep4eThReadsFeatureDependentDRLKSF01AttributesInAttributeList_18(); break; - case 20: + case 19: ChipLogProgress( - chipTool, " ***** Test Step 20 : Step 4f: TH reads Feature dependent(DRLK.S.F04) attribute in AttributeList\n"); + chipTool, " ***** Test Step 19 : Step 4f: TH reads Feature dependent(DRLK.S.F04) attribute in AttributeList\n"); if (ShouldSkip("DRLK.S.F04")) { NextTest(); return; } - err = TestStep4fThReadsFeatureDependentDRLKSF04AttributeInAttributeList_20(); + err = TestStep4fThReadsFeatureDependentDRLKSF04AttributeInAttributeList_19(); break; - case 21: + case 20: ChipLogProgress( - chipTool, " ***** Test Step 21 : Step 4g: TH reads Feature dependent(DRLK.S.F0a) attribute in AttributeList\n"); + chipTool, " ***** Test Step 20 : Step 4g: TH reads Feature dependent(DRLK.S.F0a) attribute in AttributeList\n"); if (ShouldSkip("DRLK.S.F0a")) { NextTest(); return; } - err = TestStep4gThReadsFeatureDependentDRLKSF0aAttributeInAttributeList_21(); + err = TestStep4gThReadsFeatureDependentDRLKSF0aAttributeInAttributeList_20(); break; - case 22: + case 21: ChipLogProgress( - chipTool, " ***** Test Step 22 : Step 4h: TH reads Feature dependent(DRLK.S.F0b) attribute in AttributeList\n"); + chipTool, " ***** Test Step 21 : Step 4h: TH reads Feature dependent(DRLK.S.F0b) attribute in AttributeList\n"); if (ShouldSkip("DRLK.S.F0b")) { NextTest(); return; } - err = TestStep4hThReadsFeatureDependentDRLKSF0bAttributeInAttributeList_22(); + err = TestStep4hThReadsFeatureDependentDRLKSF0bAttributeInAttributeList_21(); break; - case 23: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: TH reads Feature dependent(DRLK.S.F00 or DRLK.S.F01) attributes in " + " ***** Test Step 22 : Step 4i: TH reads Feature dependent(DRLK.S.F00 or DRLK.S.F01) attributes in " "AttributeList\n"); if (ShouldSkip("DRLK.S.F00 || DRLK.S.F01")) { NextTest(); return; } - err = TestStep4iThReadsFeatureDependentDRLKSF00OrDrlksf01AttributesInAttributeList_23(); + err = TestStep4iThReadsFeatureDependentDRLKSF00OrDrlksf01AttributesInAttributeList_22(); break; - case 24: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: TH reads Feature dependent(DRLK.S.F07 or DRLK.S.F00) attribute in AttributeList\n"); + " ***** Test Step 23 : Step 4j: TH reads Feature dependent(DRLK.S.F07 or DRLK.S.F00) attribute in AttributeList\n"); if (ShouldSkip("DRLK.S.F07 || DRLK.S.F00")) { NextTest(); return; } - err = TestStep4jThReadsFeatureDependentDRLKSF07OrDrlksf00AttributeInAttributeList_24(); + err = TestStep4jThReadsFeatureDependentDRLKSF07OrDrlksf00AttributeInAttributeList_23(); break; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4k: TH reads optional attribute(Language) in AttributeList\n"); + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4k: TH reads optional attribute(Language) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0021")) { NextTest(); return; } - err = TestStep4kThReadsOptionalAttributeLanguageInAttributeList_25(); + err = TestStep4kThReadsOptionalAttributeLanguageInAttributeList_24(); break; - case 26: - ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4l: TH reads optional attribute(LEDSettings) in AttributeList\n"); + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4l: TH reads optional attribute(LEDSettings) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0022")) { NextTest(); return; } - err = TestStep4lThReadsOptionalAttributeLEDSettingsInAttributeList_26(); + err = TestStep4lThReadsOptionalAttributeLEDSettingsInAttributeList_25(); break; - case 27: + case 26: ChipLogProgress( - chipTool, " ***** Test Step 27 : Step 4m: TH reads optional attribute(AutoRelockTime) in AttributeList\n"); + chipTool, " ***** Test Step 26 : Step 4m: TH reads optional attribute(AutoRelockTime) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0023")) { NextTest(); return; } - err = TestStep4mThReadsOptionalAttributeAutoRelockTimeInAttributeList_27(); + err = TestStep4mThReadsOptionalAttributeAutoRelockTimeInAttributeList_26(); break; - case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4n: TH reads optional attribute(SoundVolume) in AttributeList\n"); + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4n: TH reads optional attribute(SoundVolume) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0024")) { NextTest(); return; } - err = TestStep4nThReadsOptionalAttributeSoundVolumeInAttributeList_28(); + err = TestStep4nThReadsOptionalAttributeSoundVolumeInAttributeList_27(); break; - case 29: + case 28: ChipLogProgress(chipTool, - " ***** Test Step 29 : Step 4o: TH reads optional attribute(DefaultConfigurationRegister) in AttributeList\n"); + " ***** Test Step 28 : Step 4o: TH reads optional attribute(DefaultConfigurationRegister) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0027")) { NextTest(); return; } - err = TestStep4oThReadsOptionalAttributeDefaultConfigurationRegisterInAttributeList_29(); + err = TestStep4oThReadsOptionalAttributeDefaultConfigurationRegisterInAttributeList_28(); break; - case 30: + case 29: ChipLogProgress( - chipTool, " ***** Test Step 30 : Step 4p: TH reads optional attribute(EnableLocalProgramming) in AttributeList\n"); + chipTool, " ***** Test Step 29 : Step 4p: TH reads optional attribute(EnableLocalProgramming) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0028")) { NextTest(); return; } - err = TestStep4pThReadsOptionalAttributeEnableLocalProgrammingInAttributeList_30(); + err = TestStep4pThReadsOptionalAttributeEnableLocalProgrammingInAttributeList_29(); break; - case 31: + case 30: ChipLogProgress( - chipTool, " ***** Test Step 31 : Step 4q: TH reads optional attribute(EnableOneTouchLocking) in AttributeList\n"); + chipTool, " ***** Test Step 30 : Step 4q: TH reads optional attribute(EnableOneTouchLocking) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0029")) { NextTest(); return; } - err = TestStep4qThReadsOptionalAttributeEnableOneTouchLockingInAttributeList_31(); + err = TestStep4qThReadsOptionalAttributeEnableOneTouchLockingInAttributeList_30(); break; - case 32: + case 31: ChipLogProgress( - chipTool, " ***** Test Step 32 : Step 4r: TH reads optional attribute(EnableInsideStatusLED) in AttributeList\n"); + chipTool, " ***** Test Step 31 : Step 4r: TH reads optional attribute(EnableInsideStatusLED) in AttributeList\n"); if (ShouldSkip("DRLK.S.A002a")) { NextTest(); return; } - err = TestStep4rThReadsOptionalAttributeEnableInsideStatusLEDInAttributeList_32(); + err = TestStep4rThReadsOptionalAttributeEnableInsideStatusLEDInAttributeList_31(); break; - case 33: + case 32: ChipLogProgress( - chipTool, " ***** Test Step 33 : Step 4s: TH reads optional attribute(EnablePrivacyModeButton) in AttributeList\n"); + chipTool, " ***** Test Step 32 : Step 4s: TH reads optional attribute(EnablePrivacyModeButton) in AttributeList\n"); if (ShouldSkip("DRLK.S.A002b")) { NextTest(); return; } - err = TestStep4sThReadsOptionalAttributeEnablePrivacyModeButtonInAttributeList_33(); + err = TestStep4sThReadsOptionalAttributeEnablePrivacyModeButtonInAttributeList_32(); break; - case 34: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 34 : Step 4t: TH reads optional attribute(LocalProgrammingFeatures) in AttributeList\n"); + " ***** Test Step 33 : Step 4t: TH reads optional attribute(LocalProgrammingFeatures) in AttributeList\n"); if (ShouldSkip("DRLK.S.A002c")) { NextTest(); return; } - err = TestStep4tThReadsOptionalAttributeLocalProgrammingFeaturesInAttributeList_34(); + err = TestStep4tThReadsOptionalAttributeLocalProgrammingFeaturesInAttributeList_33(); break; - case 35: - ChipLogProgress(chipTool, " ***** Test Step 35 : Step 5a: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 36: - ChipLogProgress( - chipTool, " ***** Test Step 36 : Step 5b: TH reads optional event(Door position sensor) in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DRLK.S.F05")) { - NextTest(); - return; - } - NextTest(); - return; - case 37: - ChipLogProgress( - chipTool, " ***** Test Step 37 : Step 5c: TH reads optional event(User commands and database) in EventList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED && DRLK.S.F08")) { - NextTest(); - return; - } - NextTest(); - return; - case 38: - ChipLogProgress(chipTool, " ***** Test Step 38 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6aThReadsAcceptedCommandListFromDut_38(); + case 34: + ChipLogProgress(chipTool, " ***** Test Step 34 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6aThReadsAcceptedCommandListFromDut_34(); break; - case 39: + case 35: ChipLogProgress(chipTool, - " ***** Test Step 39 : Step 6b: TH reads Feature dependent commands(DRLK.S.F04) in AcceptedCommandList\n"); + " ***** Test Step 35 : Step 6b: TH reads Feature dependent commands(DRLK.S.F04) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F04")) { NextTest(); return; } - err = TestStep6bThReadsFeatureDependentCommandsDRLKSF04InAcceptedCommandList_39(); + err = TestStep6bThReadsFeatureDependentCommandsDRLKSF04InAcceptedCommandList_35(); break; - case 40: + case 36: ChipLogProgress(chipTool, - " ***** Test Step 40 : Step 6c: TH reads Feature dependent commands(DRLK.S.F0a) in AcceptedCommandList\n"); + " ***** Test Step 36 : Step 6c: TH reads Feature dependent commands(DRLK.S.F0a) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F0a")) { NextTest(); return; } - err = TestStep6cThReadsFeatureDependentCommandsDRLKSF0aInAcceptedCommandList_40(); + err = TestStep6cThReadsFeatureDependentCommandsDRLKSF0aInAcceptedCommandList_36(); break; - case 41: + case 37: ChipLogProgress(chipTool, - " ***** Test Step 41 : Step 6d: TH reads Feature dependent commands(DRLK.S.F0b) in AcceptedCommandList\n"); + " ***** Test Step 37 : Step 6d: TH reads Feature dependent commands(DRLK.S.F0b) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F0b")) { NextTest(); return; } - err = TestStep6dThReadsFeatureDependentCommandsDRLKSF0bInAcceptedCommandList_41(); + err = TestStep6dThReadsFeatureDependentCommandsDRLKSF0bInAcceptedCommandList_37(); break; - case 42: + case 38: ChipLogProgress(chipTool, - " ***** Test Step 42 : Step 6e: TH reads Feature dependent commands(DRLK.S.F0c) in AcceptedCommandList\n"); + " ***** Test Step 38 : Step 6e: TH reads Feature dependent commands(DRLK.S.F0c) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F0c")) { NextTest(); return; } - err = TestStep6eThReadsFeatureDependentCommandsDRLKSF0cInAcceptedCommandList_42(); + err = TestStep6eThReadsFeatureDependentCommandsDRLKSF0cInAcceptedCommandList_38(); break; - case 43: + case 39: ChipLogProgress(chipTool, - " ***** Test Step 43 : Step 6f: TH reads Feature dependent commands(DRLK.S.F08) in AcceptedCommandList\n"); + " ***** Test Step 39 : Step 6f: TH reads Feature dependent commands(DRLK.S.F08) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F08")) { NextTest(); return; } - err = TestStep6fThReadsFeatureDependentCommandsDRLKSF08InAcceptedCommandList_43(); + err = TestStep6fThReadsFeatureDependentCommandsDRLKSF08InAcceptedCommandList_39(); break; - case 44: + case 40: ChipLogProgress( - chipTool, " ***** Test Step 44 : Step 6g: TH reads optional commands(DRLK.S.C03.Rsp) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 40 : Step 6g: TH reads optional commands(DRLK.S.C03.Rsp) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.C03.Rsp")) { NextTest(); return; } - err = TestStep6gThReadsOptionalCommandsDRLKSC03RspInAcceptedCommandList_44(); + err = TestStep6gThReadsOptionalCommandsDRLKSC03RspInAcceptedCommandList_40(); break; - case 45: + case 41: ChipLogProgress(chipTool, - " ***** Test Step 45 : Step 7a: TH reads Feature dependent command(DRLK.S.F04) in GeneratedCommandList\n"); + " ***** Test Step 41 : Step 7a: TH reads Feature dependent command(DRLK.S.F04) in GeneratedCommandList\n"); if (ShouldSkip("DRLK.S.F04")) { NextTest(); return; } - err = TestStep7aThReadsFeatureDependentCommandDRLKSF04InGeneratedCommandList_45(); + err = TestStep7aThReadsFeatureDependentCommandDRLKSF04InGeneratedCommandList_41(); break; - case 46: + case 42: ChipLogProgress(chipTool, - " ***** Test Step 46 : Step 7b: TH reads Feature dependent command(DRLK.S.F0a) in GeneratedCommandList\n"); + " ***** Test Step 42 : Step 7b: TH reads Feature dependent command(DRLK.S.F0a) in GeneratedCommandList\n"); if (ShouldSkip("DRLK.S.F0a")) { NextTest(); return; } - err = TestStep7bThReadsFeatureDependentCommandDRLKSF0aInGeneratedCommandList_46(); + err = TestStep7bThReadsFeatureDependentCommandDRLKSF0aInGeneratedCommandList_42(); break; - case 47: + case 43: ChipLogProgress(chipTool, - " ***** Test Step 47 : Step 7c: TH reads Feature dependent command(DRLK.S.F0b) in GeneratedCommandList\n"); + " ***** Test Step 43 : Step 7c: TH reads Feature dependent command(DRLK.S.F0b) in GeneratedCommandList\n"); if (ShouldSkip("DRLK.S.F0b")) { NextTest(); return; } - err = TestStep7cThReadsFeatureDependentCommandDRLKSF0bInGeneratedCommandList_47(); + err = TestStep7cThReadsFeatureDependentCommandDRLKSF0bInGeneratedCommandList_43(); break; - case 48: + case 44: ChipLogProgress(chipTool, - " ***** Test Step 48 : Step 7d: TH reads Feature dependent command(DRLK.S.F08) in GeneratedCommandList\n"); + " ***** Test Step 44 : Step 7d: TH reads Feature dependent command(DRLK.S.F08) in GeneratedCommandList\n"); if (ShouldSkip("DRLK.S.F08")) { NextTest(); return; } - err = TestStep7dThReadsFeatureDependentCommandDRLKSF08InGeneratedCommandList_48(); + err = TestStep7dThReadsFeatureDependentCommandDRLKSF08InGeneratedCommandList_44(); break; } @@ -166986,18 +163828,6 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 45: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 46: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 47: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 48: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -167011,7 +163841,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 49; + const uint16_t mTestCount = 45; chip::Optional mNodeId; chip::Optional mCluster; @@ -167303,7 +164133,6 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 38UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -167314,37 +164143,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aThReadsAttributeListFromDut_15() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 37UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 38UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4bThReadsFeatureDependentDRLKSF05AttributesInAttributeList_16() + CHIP_ERROR TestStep4bThReadsFeatureDependentDRLKSF05AttributesInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167365,7 +164164,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsFeatureDependentDRLKSF08AttributesInAttributeList_17() + CHIP_ERROR TestStep4cThReadsFeatureDependentDRLKSF08AttributesInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167388,7 +164187,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsFeatureDependentDRLKSF00AttributesInAttributeList_18() + CHIP_ERROR TestStep4dThReadsFeatureDependentDRLKSF00AttributesInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167411,7 +164210,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsFeatureDependentDRLKSF01AttributesInAttributeList_19() + CHIP_ERROR TestStep4eThReadsFeatureDependentDRLKSF01AttributesInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167434,7 +164233,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsFeatureDependentDRLKSF04AttributeInAttributeList_20() + CHIP_ERROR TestStep4fThReadsFeatureDependentDRLKSF04AttributeInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167455,7 +164254,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsFeatureDependentDRLKSF0aAttributeInAttributeList_21() + CHIP_ERROR TestStep4gThReadsFeatureDependentDRLKSF0aAttributeInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167476,7 +164275,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsFeatureDependentDRLKSF0bAttributeInAttributeList_22() + CHIP_ERROR TestStep4hThReadsFeatureDependentDRLKSF0bAttributeInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167497,7 +164296,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsFeatureDependentDRLKSF00OrDrlksf01AttributesInAttributeList_23() + CHIP_ERROR TestStep4iThReadsFeatureDependentDRLKSF00OrDrlksf01AttributesInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167519,7 +164318,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jThReadsFeatureDependentDRLKSF07OrDrlksf00AttributeInAttributeList_24() + CHIP_ERROR TestStep4jThReadsFeatureDependentDRLKSF07OrDrlksf00AttributeInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167540,7 +164339,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kThReadsOptionalAttributeLanguageInAttributeList_25() + CHIP_ERROR TestStep4kThReadsOptionalAttributeLanguageInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167561,7 +164360,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lThReadsOptionalAttributeLEDSettingsInAttributeList_26() + CHIP_ERROR TestStep4lThReadsOptionalAttributeLEDSettingsInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167582,7 +164381,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mThReadsOptionalAttributeAutoRelockTimeInAttributeList_27() + CHIP_ERROR TestStep4mThReadsOptionalAttributeAutoRelockTimeInAttributeList_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167603,7 +164402,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nThReadsOptionalAttributeSoundVolumeInAttributeList_28() + CHIP_ERROR TestStep4nThReadsOptionalAttributeSoundVolumeInAttributeList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167624,7 +164423,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oThReadsOptionalAttributeDefaultConfigurationRegisterInAttributeList_29() + CHIP_ERROR TestStep4oThReadsOptionalAttributeDefaultConfigurationRegisterInAttributeList_28() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167645,7 +164444,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pThReadsOptionalAttributeEnableLocalProgrammingInAttributeList_30() + CHIP_ERROR TestStep4pThReadsOptionalAttributeEnableLocalProgrammingInAttributeList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167666,7 +164465,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qThReadsOptionalAttributeEnableOneTouchLockingInAttributeList_31() + CHIP_ERROR TestStep4qThReadsOptionalAttributeEnableOneTouchLockingInAttributeList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167687,7 +164486,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4rThReadsOptionalAttributeEnableInsideStatusLEDInAttributeList_32() + CHIP_ERROR TestStep4rThReadsOptionalAttributeEnableInsideStatusLEDInAttributeList_31() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167708,7 +164507,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4sThReadsOptionalAttributeEnablePrivacyModeButtonInAttributeList_33() + CHIP_ERROR TestStep4sThReadsOptionalAttributeEnablePrivacyModeButtonInAttributeList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167729,7 +164528,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4tThReadsOptionalAttributeLocalProgrammingFeaturesInAttributeList_34() + CHIP_ERROR TestStep4tThReadsOptionalAttributeLocalProgrammingFeaturesInAttributeList_33() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167750,7 +164549,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_38() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_34() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167772,7 +164571,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsFeatureDependentCommandsDRLKSF04InAcceptedCommandList_39() + CHIP_ERROR TestStep6bThReadsFeatureDependentCommandsDRLKSF04InAcceptedCommandList_35() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167795,7 +164594,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cThReadsFeatureDependentCommandsDRLKSF0aInAcceptedCommandList_40() + CHIP_ERROR TestStep6cThReadsFeatureDependentCommandsDRLKSF0aInAcceptedCommandList_36() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167818,7 +164617,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dThReadsFeatureDependentCommandsDRLKSF0bInAcceptedCommandList_41() + CHIP_ERROR TestStep6dThReadsFeatureDependentCommandsDRLKSF0bInAcceptedCommandList_37() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167841,7 +164640,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6eThReadsFeatureDependentCommandsDRLKSF0cInAcceptedCommandList_42() + CHIP_ERROR TestStep6eThReadsFeatureDependentCommandsDRLKSF0cInAcceptedCommandList_38() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167862,7 +164661,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6fThReadsFeatureDependentCommandsDRLKSF08InAcceptedCommandList_43() + CHIP_ERROR TestStep6fThReadsFeatureDependentCommandsDRLKSF08InAcceptedCommandList_39() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167888,7 +164687,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6gThReadsOptionalCommandsDRLKSC03RspInAcceptedCommandList_44() + CHIP_ERROR TestStep6gThReadsOptionalCommandsDRLKSC03RspInAcceptedCommandList_40() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167909,7 +164708,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7aThReadsFeatureDependentCommandDRLKSF04InGeneratedCommandList_45() + CHIP_ERROR TestStep7aThReadsFeatureDependentCommandDRLKSF04InGeneratedCommandList_41() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167930,7 +164729,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7bThReadsFeatureDependentCommandDRLKSF0aInGeneratedCommandList_46() + CHIP_ERROR TestStep7bThReadsFeatureDependentCommandDRLKSF0aInGeneratedCommandList_42() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167951,7 +164750,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7cThReadsFeatureDependentCommandDRLKSF0bInGeneratedCommandList_47() + CHIP_ERROR TestStep7cThReadsFeatureDependentCommandDRLKSF0bInGeneratedCommandList_43() { MTRBaseDevice * device = GetDevice("alpha"); @@ -167972,7 +164771,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7dThReadsFeatureDependentCommandDRLKSF08InGeneratedCommandList_48() + CHIP_ERROR TestStep7dThReadsFeatureDependentCommandDRLKSF08InGeneratedCommandList_44() { MTRBaseDevice * device = GetDevice("alpha"); @@ -173929,35 +170728,15 @@ class Test_TC_G_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: TH reads AttributeList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4ThReadsAttributeListFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: TH reads AttributeList from DUT\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ThReadsAttributeListFromDut_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6ThReadsAcceptedCommandListFromDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: TH reads EventList from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - NextTest(); - return; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6ThReadsAcceptedCommandListFromDut_7(); - break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7ThReadsGeneratedCommandListFromDut_8(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 7: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7ThReadsGeneratedCommandListFromDut_6(); break; } @@ -173991,12 +170770,6 @@ class Test_TC_G_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 7: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; - case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -174010,7 +170783,7 @@ class Test_TC_G_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 7; chip::Optional mNodeId; chip::Optional mCluster; @@ -174108,7 +170881,6 @@ class Test_TC_G_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -174119,33 +170891,7 @@ class Test_TC_G_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ThReadsAttributeListFromDut_5() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterGroups alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: TH reads AttributeList from DUT Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_7() + CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -174171,7 +170917,7 @@ class Test_TC_G_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_8() + CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -174569,81 +171315,105 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } err = TestStep4aReadTheGlobalAttributeAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress( + chipTool, " ***** Test Step 7 : Step 4b: Read the feature dependent(ACFREMON.S.F00) attribute in AttributeList\n"); + if (ShouldSkip("ACFREMON.S.F00")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAttributeList_7(); + err = TestStep4bReadTheFeatureDependentACFREMONSF00AttributeInAttributeList_7(); break; case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4b: Read the feature dependent(ACFREMON.S.F00) attribute in AttributeList\n"); - if (ShouldSkip("ACFREMON.S.F00")) { + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 4c: Read the optional attribute InPlaceIndicator (ACFREMON.S.A0003) in AttributeList\n"); + if (ShouldSkip("ACFREMON.S.A0003")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentACFREMONSF00AttributeInAttributeList_8(); + err = TestStep4cReadTheOptionalAttributeInPlaceIndicatorAcfremonsa0003InAttributeList_8(); break; case 9: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4c: Read the optional attribute InPlaceIndicator (ACFREMON.S.A0003) in AttributeList\n"); - if (ShouldSkip("ACFREMON.S.A0003")) { + " ***** Test Step 9 : Step 4d: Read the optional attribute LastChangedTime (ACFREMON.S.A0004) in AttributeList\n"); + if (ShouldSkip("ACFREMON.S.A0004")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeInPlaceIndicatorAcfremonsa0003InAttributeList_9(); + err = TestStep4dReadTheOptionalAttributeLastChangedTimeAcfremonsa0004InAttributeList_9(); break; case 10: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4d: Read the optional attribute LastChangedTime (ACFREMON.S.A0004) in AttributeList\n"); - if (ShouldSkip("ACFREMON.S.A0004")) { + " ***** Test Step 10 : Step 4e: Read the optional attribute ReplacementProductList (ACFREMON.S.F02) in " + "AttributeList\n"); + if (ShouldSkip("ACFREMON.S.F02")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeLastChangedTimeAcfremonsa0004InAttributeList_10(); + err = TestStep4eReadTheOptionalAttributeReplacementProductListAcfremonsf02InAttributeList_10(); break; case 11: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4e: Read the optional attribute ReplacementProductList (ACFREMON.S.F02) in " - "AttributeList\n"); - if (ShouldSkip("ACFREMON.S.F02")) { + " ***** Test Step 11 : Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeReplacementProductListAcfremonsf02InAttributeList_11(); + err = TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5: TH reads EventList attribute from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_12(); + break; + case 13: + ChipLogProgress( + chipTool, " ***** Test Step 13 : Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList\n"); + if (ShouldSkip("ACFREMON.S.C00.Rsp")) { NextTest(); return; } - NextTest(); - return; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_13(); + err = TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_13(); break; case 14: - ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList\n"); - if (ShouldSkip("ACFREMON.S.C00.Rsp")) { + ChipLogProgress(chipTool, + " ***** Test Step 14 : Step 6c: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT " + "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " + "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " + "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " + "SHALL NOT contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), " + "(0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_14(); + err = TestStep6cThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_15(); + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_15(); + break; + case 16: + ChipLogProgress(chipTool, + " ***** Test Step 16 : Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " + "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " + "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " + "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " + "SHALL NOT contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), " + "(0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); break; } @@ -174704,6 +171474,9 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -174717,7 +171490,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 16; + const uint16_t mTestCount = 17; chip::Optional mNodeId; chip::Optional mCluster; @@ -174857,35 +171630,6 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_7() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterActivatedCarbonFilterMonitoring alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -174905,7 +171649,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentACFREMONSF00AttributeInAttributeList_8() + CHIP_ERROR TestStep4bReadTheFeatureDependentACFREMONSF00AttributeInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -174930,7 +171674,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeInPlaceIndicatorAcfremonsa0003InAttributeList_9() + CHIP_ERROR TestStep4cReadTheOptionalAttributeInPlaceIndicatorAcfremonsa0003InAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -174953,7 +171697,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeLastChangedTimeAcfremonsa0004InAttributeList_10() + CHIP_ERROR TestStep4dReadTheOptionalAttributeLastChangedTimeAcfremonsa0004InAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -174976,7 +171720,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeReplacementProductListAcfremonsf02InAttributeList_11() + CHIP_ERROR TestStep4eReadTheOptionalAttributeReplacementProductListAcfremonsf02InAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -174999,7 +171743,18 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_13() + CHIP_ERROR + TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175013,6 +171768,11 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + { + id actualValue = value; + VerifyOrReturn(CheckValue("AcceptedCommandList", [actualValue count], static_cast(0))); + } + VerifyOrReturn(CheckConstraintType("acceptedCommandList", "list", "list")); NextTest(); }]; @@ -175020,7 +171780,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_14() + CHIP_ERROR TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175043,7 +171803,18 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_15() + CHIP_ERROR + TestStep6cThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() + { + + 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 TestStep7aReadTheGlobalAttributeGeneratedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175053,7 +171824,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -175068,6 +171839,17 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_ACFREMON_2_1 : public TestCommandBridge { @@ -175443,71 +172225,78 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { err = TestStep3dGivenHEPAFREMONSF02ReplacementProductListEnsureFeaturemapHasTheCorrectBitSet_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { - NextTest(); - return; - } - err = TestStep4ReadTheGlobalAttributeAttributeList_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n"); + err = TestStep4aReadTheGlobalAttributeAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, + " ***** Test Step 7 : Step 4b: Read the feature dependent(HEPAFREMON.S.F00) attribute in AttributeList\n"); + if (ShouldSkip("HEPAFREMON.S.F00")) { NextTest(); return; } - err = TestStep4ReadTheGlobalAttributeAttributeList_7(); + err = TestStep4bReadTheFeatureDependentHEPAFREMONSF00AttributeInAttributeList_7(); break; case 8: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4b: Read the feature dependent(HEPAFREMON.S.F00) attribute in AttributeList\n"); - if (ShouldSkip("HEPAFREMON.S.F00")) { + " ***** Test Step 8 : Step 4c: Read the optional attribute InPlaceIndicator (HEPAFREMON.S.A0003) in " + "AttributeList\n"); + if (ShouldSkip("HEPAFREMON.S.A0003")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentHEPAFREMONSF00AttributeInAttributeList_8(); + err = TestStep4cReadTheOptionalAttributeInPlaceIndicatorHepafremonsa0003InAttributeList_8(); break; case 9: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4c: Read the optional attribute InPlaceIndicator (HEPAFREMON.S.A0003) in " + " ***** Test Step 9 : Step 4d: Read the optional attribute LastChangedTime (HEPAFREMON.S.A0004) in " "AttributeList\n"); - if (ShouldSkip("HEPAFREMON.S.A0003")) { + if (ShouldSkip("HEPAFREMON.S.A0004")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeInPlaceIndicatorHepafremonsa0003InAttributeList_9(); + err = TestStep4dReadTheOptionalAttributeLastChangedTimeHepafremonsa0004InAttributeList_9(); break; case 10: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4d: Read the optional attribute LastChangedTime (HEPAFREMON.S.A0004) in " + " ***** Test Step 10 : Step 4e: Read the optional attribute ReplacementProductList (HEPAFREMON.S.F02) in " "AttributeList\n"); - if (ShouldSkip("HEPAFREMON.S.A0004")) { + if (ShouldSkip("HEPAFREMON.S.F02")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeLastChangedTimeHepafremonsa0004InAttributeList_10(); + err = TestStep4eReadTheOptionalAttributeReplacementProductListHepafremonsf02InAttributeList_10(); break; case 11: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4e: Read the optional attribute ReplacementProductList (HEPAFREMON.S.F02) in " - "AttributeList\n"); - if (ShouldSkip("HEPAFREMON.S.F02")) { + " ***** Test Step 11 : Step 4f: TH reads from the DUT the AttributeList attribute. The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " + "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.TThe list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeReplacementProductListHepafremonsf02InAttributeList_11(); + err = TestStep4fThReadsFromTheDutTheAttributeListAttributeTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5: TH reads EventList attribute from DUT\n"); - if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_12(); + break; + case 13: + ChipLogProgress(chipTool, + " ***** Test Step 13 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { NextTest(); return; } - NextTest(); - return; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_13(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); break; case 14: ChipLogProgress( @@ -175519,8 +172308,21 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { err = TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_15(); + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_15(); + break; + case 16: + ChipLogProgress(chipTool, + " ***** Test Step 16 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " + "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " + "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT")) { + NextTest(); + return; + } + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); break; } @@ -175581,6 +172383,9 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -175594,7 +172399,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 16; + const uint16_t mTestCount = 17; chip::Optional mNodeId; chip::Optional mCluster; @@ -175725,36 +172530,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_6() - { - - MTRBaseDevice * device = GetDevice("alpha"); - __auto_type * cluster = [[MTRBaseClusterHEPAFilterMonitoring alloc] initWithDevice:device - endpointID:@(1) - queue:mCallbackQueue]; - VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); - - [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); - - VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - - VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); - VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); - - NextTest(); - }]; - - return CHIP_NO_ERROR; - } - - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_7() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175764,7 +172540,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -175782,7 +172558,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentHEPAFREMONSF00AttributeInAttributeList_8() + CHIP_ERROR TestStep4bReadTheFeatureDependentHEPAFREMONSF00AttributeInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175807,7 +172583,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeInPlaceIndicatorHepafremonsa0003InAttributeList_9() + CHIP_ERROR TestStep4cReadTheOptionalAttributeInPlaceIndicatorHepafremonsa0003InAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175830,7 +172606,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeLastChangedTimeHepafremonsa0004InAttributeList_10() + CHIP_ERROR TestStep4dReadTheOptionalAttributeLastChangedTimeHepafremonsa0004InAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175853,7 +172629,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeReplacementProductListHepafremonsf02InAttributeList_11() + CHIP_ERROR TestStep4eReadTheOptionalAttributeReplacementProductListHepafremonsf02InAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175877,7 +172653,18 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_13() + CHIP_ERROR + TestStep4fThReadsFromTheDutTheAttributeListAttributeTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175898,6 +172685,17 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + CHIP_ERROR + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + CHIP_ERROR TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_14() { @@ -175921,7 +172719,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_15() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -175931,7 +172729,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeGeneratedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 7: Read the global attribute: GeneratedCommandList Error: %@", err); + NSLog(@"Step 7a: Read the global attribute: GeneratedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -175946,6 +172744,17 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_HEPAFREMON_2_1 : public TestCommandBridge { From 7b8eea2fa123eecf28700c5a25738fcfe8d31056 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Fri, 11 Aug 2023 12:54:01 +0000 Subject: [PATCH 3/8] Restyled by whitespace --- .../certification/Test_TC_ACFREMON_1_1.yaml | 2 +- .../certification/Test_TC_CDOCONC_1_1.yaml | 2 +- .../certification/Test_TC_CMOCONC_1_1.yaml | 2 +- .../suites/certification/Test_TC_DA_1_8.yaml | 2 +- .../certification/Test_TC_DGTHREAD_1_1.yaml | 4 +- .../suites/certification/Test_TC_FAN_1_1.yaml | 2 +- .../certification/Test_TC_FLDCONC_1_1.yaml | 2 +- .../suites/certification/Test_TC_G_2_3.yaml | 206 +++++++++--------- .../certification/Test_TC_HEPAFREMON_1_1.yaml | 2 +- .../certification/Test_TC_ICDM_1_1.yaml | 22 +- .../suites/certification/Test_TC_MOD_1_1.yaml | 2 +- .../certification/Test_TC_NDOCONC_1_1.yaml | 2 +- .../suites/certification/Test_TC_OO_1_1.yaml | 6 +- .../certification/Test_TC_OPSTATE_1_1.yaml | 2 +- .../certification/Test_TC_OPSTATE_2_1.yaml | 32 +-- .../certification/Test_TC_OZCONC_1_1.yaml | 2 +- .../certification/Test_TC_PMHCONC_1_1.yaml | 2 +- .../certification/Test_TC_PMICONC_1_1.yaml | 2 +- .../certification/Test_TC_PMKCONC_1_1.yaml | 2 +- .../certification/Test_TC_RNCONC_1_1.yaml | 2 +- .../certification/Test_TC_RVCCLEANM_1_1.yaml | 2 +- .../certification/Test_TC_RVCRUNM_1_1.yaml | 2 +- .../certification/Test_TC_TVOCCONC_1_1.yaml | 2 +- 23 files changed, 153 insertions(+), 153 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml index 9b95259a4efbb7..ba16ebfa782578 100644 --- a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml @@ -148,7 +148,7 @@ tests: verification: | ./chip-tool activatedcarbonfiltermonitoring read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0002, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0003 - Based on feature support:- 0x0000, 0x0001 diff --git a/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml index bdae531319d60f..c05dc795204e36 100644 --- a/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool carbondioxideconcentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009,0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000,0x0001.0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,0x0008,0x000a diff --git a/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml index c1b23438564fe9..5abf63b62a4a36 100644 --- a/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool carbonmonoxideconcentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that theAttributeList attribute contains + Via the TH (chip-tool), verify that theAttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml index 02efbdfbf26425..c02817728e23e1 100644 --- a/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml @@ -27,7 +27,7 @@ tests: verification: | (for all steps, PIs use equivalent command on their respective platform) set the $CHIP_ROOT environment variable to the location of the connectedhomeip directory (cd to the connectedhomeip directory, use command `export CHIP_ROOT=$(pwd -P)` - For each scenario outlined in the sheet TC-DA-1.8 test cases, perform the following actions + For each scenario outlined in the sheet TC-DA-1.8 test cases, perform the following actions - Start the TH using the required certificate set and PID. For chip-all-clusters-app, use the command given in the chip-all-clusters app command column - Have the DUT commission the TH. Verify that the DUT indicates that the device is not genuine, or otherwise indicates a failure of device attestation, within its error handling APIs or user interface. - factory reset the TH diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml index 1303763805b8ae..28a765341d849c 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml @@ -291,7 +291,7 @@ tests: Verify "AcceptedCommandList: 1 entries" on the TH(Chip-tool) Log: - [1649748231.835572][9579:9584] CHIP:DMG: SuppressResponse = true, + [1649748231.835572][9579:9584] CHIP:DMG: SuppressResponse = true, [1649748231.835633][9579:9584] CHIP:DMG: InteractionModelRevision = 1 [1649748231.835690][9579:9584] CHIP:DMG: } [1649748231.836192][9579:9584] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFF9 DataVersion: 1406212801 @@ -330,7 +330,7 @@ tests: Verify "GeneratedCommandList: 0 entries" on the TH(Chip-tool) Log: - [1649748201.118100][9570:9575] CHIP:DMG: SuppressResponse = true, + [1649748201.118100][9570:9575] CHIP:DMG: SuppressResponse = true, [1649748201.118163][9570:9575] CHIP:DMG: InteractionModelRevision = 1 [1649748201.118221][9570:9575] CHIP:DMG: } [1649748201.118561][9570:9575] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFF8 DataVersion: 1406212801 diff --git a/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml index a9f0dcaac4bc74..20b698cb6e85d0 100644 --- a/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml @@ -194,7 +194,7 @@ tests: verification: | ./chip-tool fancontrol read attribute-list 1 1 - Via the TH (chip-tool), verify that theAttributeListattribute contains + Via the TH (chip-tool), verify that theAttributeListattribute contains - Mandatory entries:0x0000, 0x0001, 0x0002, 0x0003, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Based on feature support:- 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x0009, 0x000a, 0x000b Below mentioned log is based on the RPI implementation, Value may vary on real DUT diff --git a/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml index 971d40a90fb095..e0c9d9a7244fa7 100644 --- a/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool formaldehydeconcentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that theAttributeList attribute contains + Via the TH (chip-tool), verify that theAttributeList attribute contains - Mandatory entries:0x0009,0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000,0x0001.0x0002,0x0003,0x0004,0x0005,0x0006,0x0007,0x0008,0x000a 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 5b4e137bf6d881..316409e16ae96f 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 @@ -87,14 +87,14 @@ tests: [1686812343.318342][10080:10082] CHIP:DMG: Cluster = 0x3f, [1686812343.318346][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318348][10080:10082] CHIP:DMG: } - [1686812343.318353][10080:10082] CHIP:DMG: + [1686812343.318353][10080:10082] CHIP:DMG: [1686812343.318356][10080:10082] CHIP:DMG: StatusIB = [1686812343.318360][10080:10082] CHIP:DMG: { [1686812343.318363][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318366][10080:10082] CHIP:DMG: }, - [1686812343.318369][10080:10082] CHIP:DMG: + [1686812343.318369][10080:10082] CHIP:DMG: [1686812343.318372][10080:10082] CHIP:DMG: }, - [1686812343.318378][10080:10082] CHIP:DMG: + [1686812343.318378][10080:10082] CHIP:DMG: [1686812343.318381][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318383][10080:10082] CHIP:DMG: { [1686812343.318385][10080:10082] CHIP:DMG: AttributePathIB = @@ -104,14 +104,14 @@ tests: [1686812343.318401][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318404][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318408][10080:10082] CHIP:DMG: } - [1686812343.318413][10080:10082] CHIP:DMG: + [1686812343.318413][10080:10082] CHIP:DMG: [1686812343.318415][10080:10082] CHIP:DMG: StatusIB = [1686812343.318418][10080:10082] CHIP:DMG: { [1686812343.318421][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318424][10080:10082] CHIP:DMG: }, - [1686812343.318427][10080:10082] CHIP:DMG: + [1686812343.318427][10080:10082] CHIP:DMG: [1686812343.318429][10080:10082] CHIP:DMG: }, - [1686812343.318436][10080:10082] CHIP:DMG: + [1686812343.318436][10080:10082] CHIP:DMG: [1686812343.318438][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318442][10080:10082] CHIP:DMG: { [1686812343.318444][10080:10082] CHIP:DMG: AttributePathIB = @@ -121,14 +121,14 @@ tests: [1686812343.318457][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318460][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318464][10080:10082] CHIP:DMG: } - [1686812343.318468][10080:10082] CHIP:DMG: + [1686812343.318468][10080:10082] CHIP:DMG: [1686812343.318471][10080:10082] CHIP:DMG: StatusIB = [1686812343.318476][10080:10082] CHIP:DMG: { [1686812343.318478][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318482][10080:10082] CHIP:DMG: }, - [1686812343.318486][10080:10082] CHIP:DMG: + [1686812343.318486][10080:10082] CHIP:DMG: [1686812343.318490][10080:10082] CHIP:DMG: }, - [1686812343.318496][10080:10082] CHIP:DMG: + [1686812343.318496][10080:10082] CHIP:DMG: [1686812343.318498][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318501][10080:10082] CHIP:DMG: { [1686812343.318504][10080:10082] CHIP:DMG: AttributePathIB = @@ -138,14 +138,14 @@ tests: [1686812343.318515][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318518][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318521][10080:10082] CHIP:DMG: } - [1686812343.318525][10080:10082] CHIP:DMG: + [1686812343.318525][10080:10082] CHIP:DMG: [1686812343.318528][10080:10082] CHIP:DMG: StatusIB = [1686812343.318531][10080:10082] CHIP:DMG: { [1686812343.318534][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318536][10080:10082] CHIP:DMG: }, - [1686812343.318539][10080:10082] CHIP:DMG: + [1686812343.318539][10080:10082] CHIP:DMG: [1686812343.318542][10080:10082] CHIP:DMG: }, - [1686812343.318549][10080:10082] CHIP:DMG: + [1686812343.318549][10080:10082] CHIP:DMG: [1686812343.318551][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318554][10080:10082] CHIP:DMG: { [1686812343.318557][10080:10082] CHIP:DMG: AttributePathIB = @@ -155,14 +155,14 @@ tests: [1686812343.318569][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318572][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318575][10080:10082] CHIP:DMG: } - [1686812343.318579][10080:10082] CHIP:DMG: + [1686812343.318579][10080:10082] CHIP:DMG: [1686812343.318581][10080:10082] CHIP:DMG: StatusIB = [1686812343.318584][10080:10082] CHIP:DMG: { [1686812343.318587][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318591][10080:10082] CHIP:DMG: }, - [1686812343.318594][10080:10082] CHIP:DMG: + [1686812343.318594][10080:10082] CHIP:DMG: [1686812343.318597][10080:10082] CHIP:DMG: }, - [1686812343.318604][10080:10082] CHIP:DMG: + [1686812343.318604][10080:10082] CHIP:DMG: [1686812343.318606][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318609][10080:10082] CHIP:DMG: { [1686812343.318611][10080:10082] CHIP:DMG: AttributePathIB = @@ -172,14 +172,14 @@ tests: [1686812343.318627][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318629][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318632][10080:10082] CHIP:DMG: } - [1686812343.318637][10080:10082] CHIP:DMG: + [1686812343.318637][10080:10082] CHIP:DMG: [1686812343.318640][10080:10082] CHIP:DMG: StatusIB = [1686812343.318643][10080:10082] CHIP:DMG: { [1686812343.318646][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318649][10080:10082] CHIP:DMG: }, - [1686812343.318652][10080:10082] CHIP:DMG: + [1686812343.318652][10080:10082] CHIP:DMG: [1686812343.318655][10080:10082] CHIP:DMG: }, - [1686812343.318662][10080:10082] CHIP:DMG: + [1686812343.318662][10080:10082] CHIP:DMG: [1686812343.318664][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318667][10080:10082] CHIP:DMG: { [1686812343.318669][10080:10082] CHIP:DMG: AttributePathIB = @@ -189,14 +189,14 @@ tests: [1686812343.318681][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318684][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318687][10080:10082] CHIP:DMG: } - [1686812343.318691][10080:10082] CHIP:DMG: + [1686812343.318691][10080:10082] CHIP:DMG: [1686812343.318694][10080:10082] CHIP:DMG: StatusIB = [1686812343.318697][10080:10082] CHIP:DMG: { [1686812343.318702][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318704][10080:10082] CHIP:DMG: }, - [1686812343.318707][10080:10082] CHIP:DMG: + [1686812343.318707][10080:10082] CHIP:DMG: [1686812343.318710][10080:10082] CHIP:DMG: }, - [1686812343.318716][10080:10082] CHIP:DMG: + [1686812343.318716][10080:10082] CHIP:DMG: [1686812343.318718][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318721][10080:10082] CHIP:DMG: { [1686812343.318724][10080:10082] CHIP:DMG: AttributePathIB = @@ -206,14 +206,14 @@ tests: [1686812343.318745][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318748][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318751][10080:10082] CHIP:DMG: } - [1686812343.318755][10080:10082] CHIP:DMG: + [1686812343.318755][10080:10082] CHIP:DMG: [1686812343.318758][10080:10082] CHIP:DMG: StatusIB = [1686812343.318761][10080:10082] CHIP:DMG: { [1686812343.318765][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318767][10080:10082] CHIP:DMG: }, - [1686812343.318772][10080:10082] CHIP:DMG: + [1686812343.318772][10080:10082] CHIP:DMG: [1686812343.318775][10080:10082] CHIP:DMG: }, - [1686812343.318781][10080:10082] CHIP:DMG: + [1686812343.318781][10080:10082] CHIP:DMG: [1686812343.318784][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318787][10080:10082] CHIP:DMG: { [1686812343.318790][10080:10082] CHIP:DMG: AttributePathIB = @@ -223,14 +223,14 @@ tests: [1686812343.318803][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318806][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318808][10080:10082] CHIP:DMG: } - [1686812343.318812][10080:10082] CHIP:DMG: + [1686812343.318812][10080:10082] CHIP:DMG: [1686812343.318814][10080:10082] CHIP:DMG: StatusIB = [1686812343.318816][10080:10082] CHIP:DMG: { [1686812343.318819][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318821][10080:10082] CHIP:DMG: }, - [1686812343.318824][10080:10082] CHIP:DMG: + [1686812343.318824][10080:10082] CHIP:DMG: [1686812343.318829][10080:10082] CHIP:DMG: }, - [1686812343.318835][10080:10082] CHIP:DMG: + [1686812343.318835][10080:10082] CHIP:DMG: [1686812343.318837][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318841][10080:10082] CHIP:DMG: { [1686812343.318843][10080:10082] CHIP:DMG: AttributePathIB = @@ -240,14 +240,14 @@ tests: [1686812343.318855][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318859][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318861][10080:10082] CHIP:DMG: } - [1686812343.318866][10080:10082] CHIP:DMG: + [1686812343.318866][10080:10082] CHIP:DMG: [1686812343.318868][10080:10082] CHIP:DMG: StatusIB = [1686812343.318870][10080:10082] CHIP:DMG: { [1686812343.318873][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318876][10080:10082] CHIP:DMG: }, - [1686812343.318881][10080:10082] CHIP:DMG: + [1686812343.318881][10080:10082] CHIP:DMG: [1686812343.318883][10080:10082] CHIP:DMG: }, - [1686812343.318890][10080:10082] CHIP:DMG: + [1686812343.318890][10080:10082] CHIP:DMG: [1686812343.318892][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318895][10080:10082] CHIP:DMG: { [1686812343.318897][10080:10082] CHIP:DMG: AttributePathIB = @@ -257,14 +257,14 @@ tests: [1686812343.318911][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318914][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318918][10080:10082] CHIP:DMG: } - [1686812343.318923][10080:10082] CHIP:DMG: + [1686812343.318923][10080:10082] CHIP:DMG: [1686812343.318926][10080:10082] CHIP:DMG: StatusIB = [1686812343.318928][10080:10082] CHIP:DMG: { [1686812343.318931][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318934][10080:10082] CHIP:DMG: }, - [1686812343.318938][10080:10082] CHIP:DMG: + [1686812343.318938][10080:10082] CHIP:DMG: [1686812343.318940][10080:10082] CHIP:DMG: }, - [1686812343.318947][10080:10082] CHIP:DMG: + [1686812343.318947][10080:10082] CHIP:DMG: [1686812343.318950][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.318953][10080:10082] CHIP:DMG: { [1686812343.318955][10080:10082] CHIP:DMG: AttributePathIB = @@ -274,14 +274,14 @@ tests: [1686812343.318968][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.318971][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.318974][10080:10082] CHIP:DMG: } - [1686812343.318978][10080:10082] CHIP:DMG: + [1686812343.318978][10080:10082] CHIP:DMG: [1686812343.318981][10080:10082] CHIP:DMG: StatusIB = [1686812343.318984][10080:10082] CHIP:DMG: { [1686812343.318987][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.318989][10080:10082] CHIP:DMG: }, - [1686812343.318993][10080:10082] CHIP:DMG: + [1686812343.318993][10080:10082] CHIP:DMG: [1686812343.318995][10080:10082] CHIP:DMG: }, - [1686812343.319001][10080:10082] CHIP:DMG: + [1686812343.319001][10080:10082] CHIP:DMG: [1686812343.319004][10080:10082] CHIP:DMG: AttributeStatusIB = [1686812343.319007][10080:10082] CHIP:DMG: { [1686812343.319010][10080:10082] CHIP:DMG: AttributePathIB = @@ -291,16 +291,16 @@ tests: [1686812343.319023][10080:10082] CHIP:DMG: Attribute = 0x0000_0000, [1686812343.319026][10080:10082] CHIP:DMG: ListIndex = Null, [1686812343.319028][10080:10082] CHIP:DMG: } - [1686812343.319032][10080:10082] CHIP:DMG: + [1686812343.319032][10080:10082] CHIP:DMG: [1686812343.319035][10080:10082] CHIP:DMG: StatusIB = [1686812343.319040][10080:10082] CHIP:DMG: { [1686812343.319043][10080:10082] CHIP:DMG: status = 0x00 (SUCCESS), [1686812343.319046][10080:10082] CHIP:DMG: }, - [1686812343.319049][10080:10082] CHIP:DMG: + [1686812343.319049][10080:10082] CHIP:DMG: [1686812343.319052][10080:10082] CHIP:DMG: }, - [1686812343.319057][10080:10082] CHIP:DMG: + [1686812343.319057][10080:10082] CHIP:DMG: [1686812343.319059][10080:10082] CHIP:DMG: ], - [1686812343.319084][10080:10082] CHIP:DMG: + [1686812343.319084][10080:10082] CHIP:DMG: [1686812343.319086][10080:10082] CHIP:DMG: InteractionModelRevision = 1 [1686812343.319088][10080:10082] CHIP:DMG: } disabled: true @@ -508,9 +508,9 @@ tests: [1683882354.197233][7723:7725] CHIP:DMG: { [1683882354.197237][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197242][7723:7725] CHIP:DMG: }, - [1683882354.197247][7723:7725] CHIP:DMG: + [1683882354.197247][7723:7725] CHIP:DMG: [1683882354.197250][7723:7725] CHIP:DMG: }, - [1683882354.197259][7723:7725] CHIP:DMG: + [1683882354.197259][7723:7725] CHIP:DMG: [1683882354.197263][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197268][7723:7725] CHIP:DMG: { [1683882354.197271][7723:7725] CHIP:DMG: AttributePathIB = @@ -520,14 +520,14 @@ tests: [1683882354.197290][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197295][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197299][7723:7725] CHIP:DMG: } - [1683882354.197306][7723:7725] CHIP:DMG: + [1683882354.197306][7723:7725] CHIP:DMG: [1683882354.197310][7723:7725] CHIP:DMG: StatusIB = [1683882354.197315][7723:7725] CHIP:DMG: { [1683882354.197319][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197324][7723:7725] CHIP:DMG: }, - [1683882354.197328][7723:7725] CHIP:DMG: + [1683882354.197328][7723:7725] CHIP:DMG: [1683882354.197332][7723:7725] CHIP:DMG: }, - [1683882354.197343][7723:7725] CHIP:DMG: + [1683882354.197343][7723:7725] CHIP:DMG: [1683882354.197347][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197351][7723:7725] CHIP:DMG: { [1683882354.197353][7723:7725] CHIP:DMG: AttributePathIB = @@ -537,14 +537,14 @@ tests: [1683882354.197364][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197366][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197368][7723:7725] CHIP:DMG: } - [1683882354.197372][7723:7725] CHIP:DMG: + [1683882354.197372][7723:7725] CHIP:DMG: [1683882354.197374][7723:7725] CHIP:DMG: StatusIB = [1683882354.197377][7723:7725] CHIP:DMG: { [1683882354.197379][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197381][7723:7725] CHIP:DMG: }, - [1683882354.197384][7723:7725] CHIP:DMG: + [1683882354.197384][7723:7725] CHIP:DMG: [1683882354.197385][7723:7725] CHIP:DMG: }, - [1683882354.197391][7723:7725] CHIP:DMG: + [1683882354.197391][7723:7725] CHIP:DMG: [1683882354.197393][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197395][7723:7725] CHIP:DMG: { [1683882354.197398][7723:7725] CHIP:DMG: AttributePathIB = @@ -554,14 +554,14 @@ tests: [1683882354.197417][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197421][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197426][7723:7725] CHIP:DMG: } - [1683882354.197432][7723:7725] CHIP:DMG: + [1683882354.197432][7723:7725] CHIP:DMG: [1683882354.197437][7723:7725] CHIP:DMG: StatusIB = [1683882354.197441][7723:7725] CHIP:DMG: { [1683882354.197445][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197450][7723:7725] CHIP:DMG: }, - [1683882354.197454][7723:7725] CHIP:DMG: + [1683882354.197454][7723:7725] CHIP:DMG: [1683882354.197458][7723:7725] CHIP:DMG: }, - [1683882354.197467][7723:7725] CHIP:DMG: + [1683882354.197467][7723:7725] CHIP:DMG: [1683882354.197471][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197475][7723:7725] CHIP:DMG: { [1683882354.197479][7723:7725] CHIP:DMG: AttributePathIB = @@ -571,14 +571,14 @@ tests: [1683882354.197497][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197502][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197506][7723:7725] CHIP:DMG: } - [1683882354.197512][7723:7725] CHIP:DMG: + [1683882354.197512][7723:7725] CHIP:DMG: [1683882354.197516][7723:7725] CHIP:DMG: StatusIB = [1683882354.197521][7723:7725] CHIP:DMG: { [1683882354.197525][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197529][7723:7725] CHIP:DMG: }, - [1683882354.197534][7723:7725] CHIP:DMG: + [1683882354.197534][7723:7725] CHIP:DMG: [1683882354.197538][7723:7725] CHIP:DMG: }, - [1683882354.197547][7723:7725] CHIP:DMG: + [1683882354.197547][7723:7725] CHIP:DMG: [1683882354.197551][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197555][7723:7725] CHIP:DMG: { [1683882354.197559][7723:7725] CHIP:DMG: AttributePathIB = @@ -588,14 +588,14 @@ tests: [1683882354.197578][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197582][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197586][7723:7725] CHIP:DMG: } - [1683882354.197593][7723:7725] CHIP:DMG: + [1683882354.197593][7723:7725] CHIP:DMG: [1683882354.197597][7723:7725] CHIP:DMG: StatusIB = [1683882354.197602][7723:7725] CHIP:DMG: { [1683882354.197606][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197610][7723:7725] CHIP:DMG: }, - [1683882354.197615][7723:7725] CHIP:DMG: + [1683882354.197615][7723:7725] CHIP:DMG: [1683882354.197618][7723:7725] CHIP:DMG: }, - [1683882354.197627][7723:7725] CHIP:DMG: + [1683882354.197627][7723:7725] CHIP:DMG: [1683882354.197631][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197635][7723:7725] CHIP:DMG: { [1683882354.197640][7723:7725] CHIP:DMG: AttributePathIB = @@ -605,14 +605,14 @@ tests: [1683882354.197658][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197663][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197667][7723:7725] CHIP:DMG: } - [1683882354.197673][7723:7725] CHIP:DMG: + [1683882354.197673][7723:7725] CHIP:DMG: [1683882354.197677][7723:7725] CHIP:DMG: StatusIB = [1683882354.197682][7723:7725] CHIP:DMG: { [1683882354.197687][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197690][7723:7725] CHIP:DMG: }, - [1683882354.197695][7723:7725] CHIP:DMG: + [1683882354.197695][7723:7725] CHIP:DMG: [1683882354.197699][7723:7725] CHIP:DMG: }, - [1683882354.197708][7723:7725] CHIP:DMG: + [1683882354.197708][7723:7725] CHIP:DMG: [1683882354.197712][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197716][7723:7725] CHIP:DMG: { [1683882354.197720][7723:7725] CHIP:DMG: AttributePathIB = @@ -622,14 +622,14 @@ tests: [1683882354.197738][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197743][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197747][7723:7725] CHIP:DMG: } - [1683882354.197753][7723:7725] CHIP:DMG: + [1683882354.197753][7723:7725] CHIP:DMG: [1683882354.197757][7723:7725] CHIP:DMG: StatusIB = [1683882354.197762][7723:7725] CHIP:DMG: { [1683882354.197767][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197771][7723:7725] CHIP:DMG: }, - [1683882354.197776][7723:7725] CHIP:DMG: + [1683882354.197776][7723:7725] CHIP:DMG: [1683882354.197779][7723:7725] CHIP:DMG: }, - [1683882354.197789][7723:7725] CHIP:DMG: + [1683882354.197789][7723:7725] CHIP:DMG: [1683882354.197792][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197797][7723:7725] CHIP:DMG: { [1683882354.197800][7723:7725] CHIP:DMG: AttributePathIB = @@ -639,14 +639,14 @@ tests: [1683882354.197819][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197824][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197828][7723:7725] CHIP:DMG: } - [1683882354.197835][7723:7725] CHIP:DMG: + [1683882354.197835][7723:7725] CHIP:DMG: [1683882354.197839][7723:7725] CHIP:DMG: StatusIB = [1683882354.197843][7723:7725] CHIP:DMG: { [1683882354.197848][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197852][7723:7725] CHIP:DMG: }, - [1683882354.197857][7723:7725] CHIP:DMG: + [1683882354.197857][7723:7725] CHIP:DMG: [1683882354.197861][7723:7725] CHIP:DMG: }, - [1683882354.197870][7723:7725] CHIP:DMG: + [1683882354.197870][7723:7725] CHIP:DMG: [1683882354.197874][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197878][7723:7725] CHIP:DMG: { [1683882354.197882][7723:7725] CHIP:DMG: AttributePathIB = @@ -656,14 +656,14 @@ tests: [1683882354.197900][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197905][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197909][7723:7725] CHIP:DMG: } - [1683882354.197917][7723:7725] CHIP:DMG: + [1683882354.197917][7723:7725] CHIP:DMG: [1683882354.197921][7723:7725] CHIP:DMG: StatusIB = [1683882354.197925][7723:7725] CHIP:DMG: { [1683882354.197930][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.197934][7723:7725] CHIP:DMG: }, - [1683882354.197939][7723:7725] CHIP:DMG: + [1683882354.197939][7723:7725] CHIP:DMG: [1683882354.197943][7723:7725] CHIP:DMG: }, - [1683882354.197952][7723:7725] CHIP:DMG: + [1683882354.197952][7723:7725] CHIP:DMG: [1683882354.197956][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.197960][7723:7725] CHIP:DMG: { [1683882354.197963][7723:7725] CHIP:DMG: AttributePathIB = @@ -673,14 +673,14 @@ tests: [1683882354.197981][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.197984][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.197989][7723:7725] CHIP:DMG: } - [1683882354.197995][7723:7725] CHIP:DMG: + [1683882354.197995][7723:7725] CHIP:DMG: [1683882354.197998][7723:7725] CHIP:DMG: StatusIB = [1683882354.198002][7723:7725] CHIP:DMG: { [1683882354.198007][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.198011][7723:7725] CHIP:DMG: }, - [1683882354.198015][7723:7725] CHIP:DMG: + [1683882354.198015][7723:7725] CHIP:DMG: [1683882354.198019][7723:7725] CHIP:DMG: }, - [1683882354.198028][7723:7725] CHIP:DMG: + [1683882354.198028][7723:7725] CHIP:DMG: [1683882354.198032][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.198036][7723:7725] CHIP:DMG: { [1683882354.198040][7723:7725] CHIP:DMG: AttributePathIB = @@ -690,14 +690,14 @@ tests: [1683882354.198058][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.198063][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.198067][7723:7725] CHIP:DMG: } - [1683882354.198073][7723:7725] CHIP:DMG: + [1683882354.198073][7723:7725] CHIP:DMG: [1683882354.198077][7723:7725] CHIP:DMG: StatusIB = [1683882354.198081][7723:7725] CHIP:DMG: { [1683882354.198086][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.198090][7723:7725] CHIP:DMG: }, - [1683882354.198094][7723:7725] CHIP:DMG: + [1683882354.198094][7723:7725] CHIP:DMG: [1683882354.198098][7723:7725] CHIP:DMG: }, - [1683882354.198107][7723:7725] CHIP:DMG: + [1683882354.198107][7723:7725] CHIP:DMG: [1683882354.198111][7723:7725] CHIP:DMG: AttributeStatusIB = [1683882354.198115][7723:7725] CHIP:DMG: { [1683882354.198119][7723:7725] CHIP:DMG: AttributePathIB = @@ -707,16 +707,16 @@ tests: [1683882354.198137][7723:7725] CHIP:DMG: Attribute = 0x0000_0000, [1683882354.198142][7723:7725] CHIP:DMG: ListIndex = Null, [1683882354.198146][7723:7725] CHIP:DMG: } - [1683882354.198152][7723:7725] CHIP:DMG: + [1683882354.198152][7723:7725] CHIP:DMG: [1683882354.198156][7723:7725] CHIP:DMG: StatusIB = [1683882354.198160][7723:7725] CHIP:DMG: { [1683882354.198165][7723:7725] CHIP:DMG: status = 0x00 (SUCCESS), [1683882354.198169][7723:7725] CHIP:DMG: }, - [1683882354.198174][7723:7725] CHIP:DMG: + [1683882354.198174][7723:7725] CHIP:DMG: [1683882354.198178][7723:7725] CHIP:DMG: }, - [1683882354.198184][7723:7725] CHIP:DMG: + [1683882354.198184][7723:7725] CHIP:DMG: [1683882354.198187][7723:7725] CHIP:DMG: ], - [1683882354.198223][7723:7725] CHIP:DMG: + [1683882354.198223][7723:7725] CHIP:DMG: [1683882354.198227][7723:7725] CHIP:DMG: InteractionModelRevision = 1 [1683882354.198230][7723:7725] CHIP:DMG: } disabled: true @@ -851,8 +851,8 @@ tests: ./chip-tool groups add-group-if-identifying 0x0009 Gp9 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + [1674551849.597991][21000:21002] CHIP:DMG: StatusIB = [1674551849.597995][21000:21002] CHIP:DMG: { [1674551849.597998][21000:21002] CHIP:DMG: status = 0x00 (SUCCESS), @@ -860,7 +860,7 @@ tests: ./chip-tool groups add-group-if-identifying 0x000a Gp10 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882426.604685][7756:7758] CHIP:DMG: StatusIB = [1683882426.604688][7756:7758] CHIP:DMG: { @@ -869,17 +869,17 @@ tests: ./chip-tool groups add-group-if-identifying 0x000b Gp11 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882432.529527][7760:7762] CHIP:DMG: StatusIB = [1683882432.529532][7760:7762] CHIP:DMG: { [1683882432.529535][7760:7762] CHIP:DMG: status = 0x00 (SUCCESS), [1683882432.529538][7760:7762] CHIP:DMG: }, - [1683882432.529543][7760:7762] CHIP:DMG: + [1683882432.529543][7760:7762] CHIP:DMG: ./chip-tool groups add-group-if-identifying 0x000c Gp12 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882437.464914][7763:7765] CHIP:DMG: StatusIB = [1683882437.464927][7763:7765] CHIP:DMG: { @@ -888,7 +888,7 @@ tests: ./chip-tool groups add-group-if-identifying 0x000d Gp13 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882442.334908][7766:7768] CHIP:DMG: StatusIB = [1683882442.334911][7766:7768] CHIP:DMG: { @@ -897,9 +897,9 @@ tests: ./chip-tool groups add-group-if-identifying 0x000e Gp14 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - 1683882448.814358][7769:7771] CHIP:DMG: + 1683882448.814358][7769:7771] CHIP:DMG: [1683882448.814361][7769:7771] CHIP:DMG: StatusIB = [1683882448.814367][7769:7771] CHIP:DMG: { [1683882448.814371][7769:7771] CHIP:DMG: status = 0x00 (SUCCESS), @@ -907,27 +907,27 @@ tests: ./chip-tool groups add-group-if-identifying 0x000f Gp15 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882460.656727][7775:7777] CHIP:DMG: StatusIB = [1683882460.656730][7775:7777] CHIP:DMG: { [1683882460.656733][7775:7777] CHIP:DMG: status = 0x00 (SUCCESS), [1683882460.656737][7775:7777] CHIP:DMG: }, - [1683882460.656740][7775:7777] CHIP:DMG: + [1683882460.656740][7775:7777] CHIP:DMG: ./chip-tool groups add-group-if-identifying 0x0010 Gp16 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882470.921771][7779:7781] CHIP:DMG: StatusIB = [1683882470.921775][7779:7781] CHIP:DMG: { [1683882470.921779][7779:7781] CHIP:DMG: status = 0x00 (SUCCESS), [1683882470.921783][7779:7781] CHIP:DMG: }, - [1683882470.921787][7779:7781] CHIP:DMG: + [1683882470.921787][7779:7781] CHIP:DMG: ./chip-tool groups add-group-if-identifying 0x0011 Gp17 1 0 - Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + Verify the "status is SUCCESS" on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1683882478.955105][7783:7785] CHIP:DMG: StatusIB = [1683882478.955124][7783:7785] CHIP:DMG: { @@ -955,14 +955,14 @@ tests: [1674551849.075950][20994:20996] CHIP:DMG: Cluster = 0x3f, [1674551849.075953][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, [1674551849.075956][20994:20996] CHIP:DMG: } - [1674551849.075961][20994:20996] CHIP:DMG: + [1674551849.075961][20994:20996] CHIP:DMG: [1674551849.075964][20994:20996] CHIP:DMG: StatusIB = [1674551849.075967][20994:20996] CHIP:DMG: { [1674551849.075971][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), [1674551849.075974][20994:20996] CHIP:DMG: }, - [1674551849.075977][20994:20996] CHIP:DMG: + [1674551849.075977][20994:20996] CHIP:DMG: [1674551849.075980][20994:20996] CHIP:DMG: }, - [1674551849.075986][20994:20996] CHIP:DMG: + [1674551849.075986][20994:20996] CHIP:DMG: [1674551849.075989][20994:20996] CHIP:DMG: AttributeStatusIB = [1674551849.075991][20994:20996] CHIP:DMG: { [1674551849.075994][20994:20996] CHIP:DMG: AttributePathIB = @@ -972,14 +972,14 @@ tests: [1674551849.076006][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, [1674551849.076010][20994:20996] CHIP:DMG: ListIndex = Null, [1674551849.076012][20994:20996] CHIP:DMG: } - [1674551849.076017][20994:20996] CHIP:DMG: + [1674551849.076017][20994:20996] CHIP:DMG: [1674551849.076020][20994:20996] CHIP:DMG: StatusIB = [1674551849.076022][20994:20996] CHIP:DMG: { [1674551849.076025][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), [1674551849.076028][20994:20996] CHIP:DMG: }, - [1674551849.076031][20994:20996] CHIP:DMG: + [1674551849.076031][20994:20996] CHIP:DMG: [1674551849.076034][20994:20996] CHIP:DMG: }, - [1674551849.076040][20994:20996] CHIP:DMG: + [1674551849.076040][20994:20996] CHIP:DMG: [1674551849.076043][20994:20996] CHIP:DMG: AttributeStatusIB = [1674551849.076046][20994:20996] CHIP:DMG: { [1674551849.076048][20994:20996] CHIP:DMG: AttributePathIB = @@ -989,16 +989,16 @@ tests: [1674551849.076060][20994:20996] CHIP:DMG: Attribute = 0x0000_0000, [1674551849.076063][20994:20996] CHIP:DMG: ListIndex = Null, [1674551849.076066][20994:20996] CHIP:DMG: } - [1674551849.076071][20994:20996] CHIP:DMG: + [1674551849.076071][20994:20996] CHIP:DMG: [1674551849.076074][20994:20996] CHIP:DMG: StatusIB = [1674551849.076076][20994:20996] CHIP:DMG: { [1674551849.076080][20994:20996] CHIP:DMG: status = 0x00 (SUCCESS), [1674551849.076082][20994:20996] CHIP:DMG: }, - [1674551849.076085][20994:20996] CHIP:DMG: + [1674551849.076085][20994:20996] CHIP:DMG: [1674551849.076088][20994:20996] CHIP:DMG: }, - [1674551849.076092][20994:20996] CHIP:DMG: + [1674551849.076092][20994:20996] CHIP:DMG: [1674551849.076094][20994:20996] CHIP:DMG: ], - [1674551849.076102][20994:20996] CHIP:DMG: + [1674551849.076102][20994:20996] CHIP:DMG: [1674551849.076105][20994:20996] CHIP:DMG: InteractionModelRevision = 1 [1674551849.076108][20994:20996] CHIP:DMG: } disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml b/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml index 1a7b523a8ad561..2f12608801499f 100644 --- a/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml @@ -148,7 +148,7 @@ tests: verification: | ./chip-tool hepafiltermonitoring read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0002,0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0003 - Based on feature support:- 0x0000, 0x0001 diff --git a/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml index 8cdf10c545d8ce..6174152fce3db8 100755 --- a/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml @@ -111,22 +111,22 @@ tests: verification: | ./chip-tool icdmanagement read attribute-list 1 0 - Verify " AttributeList "should include the mandatory attributes (values 0, 1, 2) and + Verify " AttributeList "should include the mandatory attributes (values 0, 1, 2) and global attributes (value 65533, 65532, 65531, 65530, 65529 and 65528) The list include entries based on feature support: - 0x0003: SHALL be included if and only if ICDM.S.A0003(RegisteredClients) - 0x0004: SHALL be included if and only if ICDM.S.A0004(IcdCounter) + 0x0003: SHALL be included if and only if ICDM.S.A0003(RegisteredClients) + 0x0004: SHALL be included if and only if ICDM.S.A0004(IcdCounter) 0x0005: SHALL be included if and only if ICDM.S.A0005(ClientsSupportedPerFabric) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1685123797636] [39641:392416] [TOO] Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_FFFB DataVersion: 93993128 [1685123797636] [39641:392416] [TOO] AttributeList: 12 entries - [1685123797636] [39641:392416] [TOO] [1]: 0 - [1685123797636] [39641:392416] [TOO] [2]: 1 - [1685123797636] [39641:392416] [TOO] [3]: 2 - [1685123797636] [39641:392416] [TOO] [4]: 3 - [1685123797636] [39641:392416] [TOO] [5]: 4 - [1685123797637] [39641:392416] [TOO] [6]: 5 + [1685123797636] [39641:392416] [TOO] [1]: 0 + [1685123797636] [39641:392416] [TOO] [2]: 1 + [1685123797636] [39641:392416] [TOO] [3]: 2 + [1685123797636] [39641:392416] [TOO] [4]: 3 + [1685123797636] [39641:392416] [TOO] [5]: 4 + [1685123797637] [39641:392416] [TOO] [6]: 5 [1685123797637] [39641:392416] [TOO] [7]: 65528 [1685123797637] [39641:392416] [TOO] [8]: 65529 [1685123797637] [39641:392416] [TOO] [9]: 65530 @@ -197,8 +197,8 @@ tests: verification: | ./chip-tool icdmanagement read accepted-command-list 1 0 - Verify the "AcceptedCommandList" contains feature dependent commands - if ICDM.S.F00(CIP) feature supports list includes(value 0x0000 and 0x02) and + Verify the "AcceptedCommandList" contains feature dependent commands + if ICDM.S.F00(CIP) feature supports list includes(value 0x0000 and 0x02) and The list MAY include these optional entries: if ICDM.S.C01.Rsp(StayActiveRequest) feature supports list includes(value 0x0003) on the TH (Chip-tool) and below is the sample log provided for the raspi platform: diff --git a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml index 12cfaa026e8238..abd126fe080310 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml @@ -112,7 +112,7 @@ tests: verification: | ./chip-tool nitrogendioxideconcentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a diff --git a/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml index 16bdc1740134bb..2331248c0ee889 100644 --- a/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool nitrogendioxideconcentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a diff --git a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml index eed53b792e6c91..bbd098e4903721 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml @@ -103,8 +103,8 @@ tests: verification: | ./chip-tool onoff read attribute-list 1 1 - Verify "AttributeList" contains a list of mandatory attributes (value 0), - - Global attributes (value 65533, 65532, 65531, 65530, 65529 and 65528), + Verify "AttributeList" contains a list of mandatory attributes (value 0), + - Global attributes (value 65533, 65532, 65531, 65530, 65529 and 65528), - Feature dependent attribute If OO.S.F00(LT) feature supports (Values 0x4000, 0x4001, 0x4002 and 0x4003) on the TH(Chip-tool) Log and Below is the sample log provided for the raspi platform: [1676289026.377401][4351:4353] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFFB DataVersion: 659547221 @@ -163,7 +163,7 @@ tests: verification: | ./chip-tool onoff read accepted-command-list 1 1 - Verify "AcceptedCommandList" contains a list of mandatory commands (value 0, 1 and 2) + Verify "AcceptedCommandList" contains a list of mandatory commands (value 0, 1 and 2) - If feature supports OO.S.F00(LT) list contains (values 0x40, 0x41 and 0x42) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1646045691.415739][36078:36083] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFF9DataVersion: 1805855192 diff --git a/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml index 82c820a2faf005..9f896040d95167 100644 --- a/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml @@ -79,7 +79,7 @@ tests: verification: | ./chip-tool operationalstate read attribute-list 1 1 - Verify " AttributeList " value consists the list of mandatory attributes (0, 1, 3, 4, 5, 65533, 65532, 65531, 65529, 65528) and it may include the optional attribute (2) on the TH(Chip-tool) Log: + Verify " AttributeList " value consists the list of mandatory attributes (0, 1, 3, 4, 5, 65533, 65532, 65531, 65529, 65528) and it may include the optional attribute (2) on the TH(Chip-tool) Log: Below is the sample log provided for the raspi platform: [1689672825.768926][16510:16512] CHIP:DMG: } diff --git a/src/app/tests/suites/certification/Test_TC_OPSTATE_2_1.yaml b/src/app/tests/suites/certification/Test_TC_OPSTATE_2_1.yaml index fd2ca77e4de285..6720a5b1f8cba1 100644 --- a/src/app/tests/suites/certification/Test_TC_OPSTATE_2_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPSTATE_2_1.yaml @@ -39,9 +39,9 @@ tests: - label: "Step 2: TH reads from the DUT the PhaseList attribute" PICS: OPSTATE.S.A0000 verification: | - ./chip-tool operationalstate read phase-list 1 1 + ./chip-tool operationalstate read phase-list 1 1 Via the TH (chip-tool), verify: - - that PhaseList attribute value contains either null or a list of strings. + - that PhaseList attribute value contains either null or a list of strings. - that the list has no more than 32 entries. on TH(chip-tool) [1689673042.242432][16559:16561] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0000 DataVersion: 2102885775 @@ -54,7 +54,7 @@ tests: - label: "Step 3: TH reads from the DUT the CurrentPhase attribute" PICS: OPSTATE.S.A0001 verification: | - ./chip-tool operationalstate read current-phase 1 1 + ./chip-tool operationalstate read current-phase 1 1 Via the TH (chip-tool), verify: @@ -72,7 +72,7 @@ tests: 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 0 to 259200 @@ -90,7 +90,7 @@ tests: PICS: OPSTATE.S.A0003 verification: | ./chip-tool operationalstate read operational-state-list 1 1 - + Via the TH (chip-tool), verify: - the provided list contains the Error state (an entry with an ID of 0x03). - all entries include an ID (enum8) and a label (string) @@ -151,7 +151,7 @@ tests: ./chip-tool operationalstate read operational-state 1 1 Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Stopped(0x00) - [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 [1690201842.479211][15020:15022] CHIP:DMG: } [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 @@ -177,7 +177,7 @@ tests: ./chip-tool operationalstate read operational-state 1 1 Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Running(0x01) - [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 [1690201842.479211][15020:15022] CHIP:DMG: } [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 @@ -203,7 +203,7 @@ tests: ./chip-tool operationalstate read operational-state 1 1 Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Paused(0x02) - [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 [1690201842.479211][15020:15022] CHIP:DMG: } [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 @@ -228,7 +228,7 @@ tests: ./chip-tool operationalstate read operational-state 1 1 Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Error(0x03) - [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 [1690201842.479211][15020:15022] CHIP:DMG: } [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 @@ -245,7 +245,7 @@ tests: verification: | ./chip-tool operationalstate read operational-state 1 1 Via the TH (chip-tool), Verify that the DUT response contains an instance of ErrorStateStruct and Verify the ErrorStateID is a defined error (NoError(0x00), UnableToStartOrResume(0x01), UnableToCompleteOperation(0x02), CommandInvalidInState(0x03)) or in the range 0x80 to 0xBF. - [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 [1690201842.479211][15020:15022] CHIP:DMG: } [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 @@ -269,7 +269,7 @@ tests: ./chip-tool operationalstate read operational-state 1 1 Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to SeekingCharger(0x40) - [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 [1690201842.479211][15020:15022] CHIP:DMG: } [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 @@ -295,7 +295,7 @@ tests: ./chip-tool operationalstate read operational-state 1 1 Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Charging(0x41) - [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 [1690201842.479211][15020:15022] CHIP:DMG: } [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 @@ -318,9 +318,9 @@ tests: - label: "Step 7f: TH reads from the DUT the OperationalError attribute" PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_UNABLE_TO_COMPLETE_OPERATION verification: | - ./chip-tool operationalstate read operational-error 1 1 + ./chip-tool operationalstate read operational-error 1 1 Via the TH (chip-tool), Verify that the DUT response contains an OperationalStateEnum value. Verify this is set to Docked(0x42) - [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, + [1690201842.479098][15020:15022] CHIP:DMG: SuppressResponse = true, [1690201842.479158][15020:15022] CHIP:DMG: InteractionModelRevision = 1 [1690201842.479211][15020:15022] CHIP:DMG: } [1690201842.479528][15020:15022] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_0004 DataVersion: 3675566847 @@ -337,7 +337,7 @@ tests: error state" PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE verification: | - ./chip-tool operationalstate read operational-error 1 1 + ./chip-tool operationalstate read operational-error 1 1 Via the TH (chip-tool), Verify that the DUT response contains an instance of ErrorStateStruct and Verify the ErrorStateID is a defined error (NoError(0x00), UnableToStartOrResume(0x01), UnableToCompleteOperation(0x02), CommandInvalidInState(0x03), FailedToFindChargingDock(0x40), Stuck(0x41), DustBinMissing(0x42), DustBinFull(0x43), WaterTankEmpty(0x44), WaterTankMissing(0x45), WaterTankLidOpen(0x46), MopCleaningPadMissing(0x47)) or in the range 0x80 to 0xBF. @@ -357,7 +357,7 @@ tests: - label: "Step 7h: TH reads from the DUT the OperationalError attribute" PICS: OPSTATE.S.A0005 && OPSTATE.S.M.ERR_COMMAND_INVALID_IN_STATE verification: | - ./chip-tool operationalstate read operational-error 1 1 + ./chip-tool operationalstate read operational-error 1 1 Via the TH (chip-tool), Verify that the DUT response contains an instance of ErrorStateStruct. This shall contain an ErrorStateId with a value of UnableToStartOrResume(0x01) [1690201879.312424][15025:15027] CHIP:DMG: } diff --git a/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml index 496f00107c4fd6..ae0778de4c1070 100644 --- a/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml @@ -316,7 +316,7 @@ tests: verification: | ./chip-tool ozoneconcentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a diff --git a/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml index 9e83274358ab54..8fdb3ef8d99a9d 100644 --- a/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool pm1concentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a diff --git a/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml index 544be648c04d64..c16fc7434ecf18 100644 --- a/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool pm25concentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a diff --git a/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml index df0fac35a7f623..5efb0b6549f627 100644 --- a/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool pm10concentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a diff --git a/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml index d705f25085987b..bd84ddbb159d63 100644 --- a/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool radonconcentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a diff --git a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml index 259d2c4eb75f57..b169e83a892f36 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml @@ -117,7 +117,7 @@ tests: Verify the "AttributeList " should include the mandatory attributes (values 0, 1), - global attributes (value 65533, 65532, 65531, 65530, 65529 and 65528) and - - list may include optional attribute(value 0x0002), if MOD.S.A0002(StartUpMode) supports, + - list may include optional attribute(value 0x0002), if MOD.S.A0002(StartUpMode) supports, - list contains feature dependent attribute (values 0x0003), if MOD.S.F00(DEPONOFF) is true on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1690182240.730688][14970:14972] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0055 Attribute 0x0000_FFFB DataVersion: 3145953005 diff --git a/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml index 7e1f24652dd2f7..7eb08eca3ba4f8 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml @@ -117,7 +117,7 @@ tests: Verify the "AttributeList " should include the mandatory attributes (values 0, 1), - global attributes (value 65533, 65532, 65531, 65530, 65529 and 65528) and - - list may include optional attribute(value 0x0002), if MOD.S.A0002(StartUpMode) supports, + - list may include optional attribute(value 0x0002), if MOD.S.A0002(StartUpMode) supports, - list contains feature dependent attribute (values 0x0003), if MOD.S.F00(DEPONOFF) is true on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: [1690177332.943953][6264:6266] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0054 Attribute 0x0000_FFFB DataVersion: 551764487 diff --git a/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml index 6f4fef99ecef0e..5cf1f5cd65d58f 100644 --- a/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml @@ -318,7 +318,7 @@ tests: verification: | ./chip-tool totalvolatileorganiccompoundsconcentrationmeasurement read attribute-list 1 1 - Via the TH (chip-tool), verify that the AttributeList attribute contains + Via the TH (chip-tool), verify that the AttributeList attribute contains - Mandatory entries:0x0009, 0xfff8, 0xfff9, 0xfffa, 0xfffb, 0xfffc & 0xfffd - Optional entries:- 0x0007 - Based on feature support:- 0x0000, 0x0001, 0x0002, 0x0003, 0x0004, 0x0005, 0x0006, 0x0007, 0x0008, 0x000a From 0241e76ff2627c084522c2302315685f4b21b706 Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Fri, 11 Aug 2023 12:54:13 +0000 Subject: [PATCH 4/8] Restyled by prettier-yaml --- .../tests/suites/certification/Test_TC_ALOGIN_1_12.yaml | 1 - src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml | 1 - .../suites/certification/Test_TC_APPLAUNCHER_1_3.yaml | 1 - .../suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml | 1 - src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml | 2 -- .../tests/suites/certification/Test_TC_CHANNEL_1_6.yaml | 1 - .../suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml | 1 - src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml | 4 ---- src/app/tests/suites/certification/Test_TC_I_1_1.yaml | 1 - .../suites/certification/Test_TC_KEYPADINPUT_1_2.yaml | 1 - .../tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml | 1 - src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml | 1 - .../tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml | 1 - .../suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml | 1 - src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml | 3 --- src/app/tests/suites/certification/Test_TC_PS_1_1.yaml | 7 ------- src/app/tests/suites/certification/Test_TC_RH_1_1.yaml | 3 --- src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml | 1 - src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml | 1 - src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml | 1 - src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml | 1 - .../tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml | 1 - 22 files changed, 36 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml b/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml index 9f24869dc87177..cc9889b96431a5 100644 --- a/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml +++ b/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml @@ -72,7 +72,6 @@ tests: constraints: type: list contains: [1] - # EventList disabled for 1.2 # - label: "Step 6: TH reads EventList attribute from DUT" # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml b/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml index 3d11b6501227e3..f70965471ecb97 100644 --- a/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml @@ -99,7 +99,6 @@ tests: value: [] constraints: type: list - # EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml b/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml index fa3dbca609ce84..3c347770e58a01 100644 --- a/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml @@ -101,7 +101,6 @@ tests: constraints: type: list contains: [3] - # EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml index d18a13e7f12443..55b592ecedf0de 100644 --- a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml @@ -82,7 +82,6 @@ tests: value: [] constraints: type: list - # - label: "Step 6: Read the global attribute: EventList" # command: "readAttribute" # attribute: "EventList" diff --git a/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml index 63a41f2fd0c7ea..6a876f3cf29abe 100644 --- a/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml @@ -70,7 +70,6 @@ tests: value: [] constraints: type: list - # EventList disabled for 1.2 # - label: "Step 7: Read the global attribute: EventList" # PICS: BOOL.S.E00 @@ -80,7 +79,6 @@ tests: # value: [0] # constraints: # type: list - # - label: "Step 7: Read the global attribute: EventList" # PICS: " !BOOL.S.E00 " # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml b/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml index 65ccb7a5e6fc66..ba92efb91bb92d 100644 --- a/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml +++ b/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml @@ -157,7 +157,6 @@ tests: constraints: type: list contains: [1] - # EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml b/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml index abd68a5ff58485..98e42191c009bc 100644 --- a/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml +++ b/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml @@ -129,7 +129,6 @@ tests: constraints: type: list contains: [2] - # EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml index d225d75be41b55..d2514f632af4ee 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml @@ -138,7 +138,6 @@ tests: value: [] constraints: type: list - # EventList disabled for 1.2 # - label: "Step 7a: TH reads EventList from DUT" # PICS: " !DGWIFI.S.E00 && !DGWIFI.S.E01 && !DGWIFI.S.E02 " @@ -148,7 +147,6 @@ tests: # value: [] # constraints: # type: list - # - label: # "Step 7b: TH reads optional attribute (Disconnection) in EventList # from DUT" @@ -159,7 +157,6 @@ tests: # constraints: # type: list # contains: [0] - # - label: # "Step 7c: TH reads optional attribute (AssociationFailure) in # EventList from DUT" @@ -170,7 +167,6 @@ tests: # constraints: # type: list # contains: [1] - # - label: # "Step 7d: TH reads optional attribute (ConnectionStatus) in EventList # from DUT" diff --git a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml index 511554c5929f60..deca64e22d4544 100644 --- a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml @@ -101,7 +101,6 @@ tests: value: [] constraints: type: list - #Commenting out the step IdentifyQueryResponse (0x00) is not supported by Matter 1.0 #- label: # "Read the optional command(IdentifyQueryResponse) in diff --git a/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml b/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml index 5b1e947599d698..be47ef92e3dc27 100644 --- a/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml @@ -106,7 +106,6 @@ tests: constraints: type: list contains: [1] - # EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml index 1ffba2c8e1b555..e955835625c738 100644 --- a/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml @@ -72,7 +72,6 @@ tests: value: [] constraints: type: list - # EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml index 849129fa0fc58a..a4905e2992c8cb 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml @@ -199,7 +199,6 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 # - label: "Step 5: Read the global attribute: EventList" # PICS: PICS_EVENT_LIST_ENABLED diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml index 79e4cf77327196..9885a39219daea 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml @@ -103,7 +103,6 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # PICS: PICS_EVENT_LIST_ENABLED diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml index 4b60c533802675..57fe8a15f3d28a 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml @@ -234,7 +234,6 @@ tests: constraints: type: list contains: [10] - #EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # PICS: PICS_EVENT_LIST_ENABLED diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml index 5acc828f79523d..894850a9421549 100644 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml @@ -70,7 +70,6 @@ tests: value: [] constraints: type: list - #EvevntList disabled for 1.2 # #Manufacturer specific event IDs check not possible # - label: @@ -79,9 +78,7 @@ tests: # IDs." # verification: | # ./chip-tool powersourceconfiguration read event-list 1 0 - # Verify "EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: - # [1676465821.421939][28007:28009] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFA DataVersion: 1659126157 # [1676465821.421975][28007:28009] CHIP:TOO: EventList: 0 entries # [1676465821.422017][28007:28009] CHIP:EM: <<< [E:59109i S:5686 M:123325798 (Ack:214612225)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) diff --git a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml index 7339e98fb89c23..b4edb57fbb80b8 100644 --- a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml @@ -159,7 +159,6 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 # - label: "Step 7a: Read the global attribute: EventList" # PICS: "PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 " @@ -169,7 +168,6 @@ tests: # value: [] # constraints: # type: list - # - label: "Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList" # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E00 # command: "readAttribute" @@ -178,7 +176,6 @@ tests: # constraints: # type: list # contains: [0] - # - label: "Step 7c: Read PS.S.E01(BatFaultChange) event in EventList" # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E01 # command: "readAttribute" @@ -187,7 +184,6 @@ tests: # constraints: # type: list # contains: [1] - # - label: "Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList" # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E02 # command: "readAttribute" @@ -196,7 +192,6 @@ tests: # constraints: # type: list # contains: [2] - # #Manufacturer specific event IDs check not possible # - label: # "Step 7e: Read EventList attribute from the DUT.For this cluster the @@ -204,13 +199,11 @@ tests: # IDs." # verification: | # ./chip-tool powersource read event-list 1 1 - # On TH(chip-tool), Verify that the DUT response provides a list of supported events. This list can be empty or contain following optional event IDs: # if PS.S.E00(WiredFaultChange) : 0 # if PS.S.E01(BatFaultChange): 1 # if PS.S.E02(BatChargeFaultChange): 2 # Optionally the list can also contain manufacturer specific event IDs. - # [1676465733.563197][27987:27989] CHIP:DMG: } # [1676465733.563336][27987:27989] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_002F Attribute 0x0000_FFFA DataVersion: 2315782406 # [1676465733.563366][27987:27989] CHIP:TOO: EventList: 1 entries diff --git a/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml index fcd7d2e044a58b..caf6487dec2b0a 100644 --- a/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml @@ -79,7 +79,6 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 # #Manufacturer specific event IDs check not possible # - label: @@ -88,9 +87,7 @@ tests: # IDs." # verification: | # ./chip-tool relativehumiditymeasurement read event-list 1 1 - # Verify " EventList " consists the list of supported events, in this cluster in RPI the value is 0 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - # [1676357956.011759][8095:8097] CHIP:DMG: } # [1676357956.011914][8095:8097] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0405 Attribute 0x0000_FFFA DataVersion: 3619476420 # [1676357956.011967][8095:8097] CHIP:TOO: EventList: 0 entries diff --git a/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml b/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml index 92364c5bea0927..f54803938cba6a 100644 --- a/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml @@ -82,7 +82,6 @@ tests: constraints: type: list contains: [1] - #EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml index a0d581313e4833..01f7ce625a9e19 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml @@ -79,7 +79,6 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 # #Manufacturer specific event IDs check not possible # - label: diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml index 395eca1a63babb..f1652592b0431d 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml @@ -607,7 +607,6 @@ tests: constraints: type: list contains: [1] - #EVentList disabled for 1.2 # #Manufacturer specific event IDs check not possible # - label: diff --git a/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml index a004e72769b552..09b1002c230edf 100644 --- a/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml @@ -173,7 +173,6 @@ tests: value: "Please enter 'y' for success" - name: "expectedValue" value: "y" - #EventList disabled for 1.2 # #Manufacturer specific event IDs check not possible # - label: diff --git a/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml b/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml index 49c0fd61eb863e..3c78e77855be96 100644 --- a/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml @@ -81,7 +81,6 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 # - label: "Step 6: Read the global attribute: EventList" # PICS: PICS_EVENT_LIST_ENABLED From cd43090530d38cfea3ca30d4fe60bd810643cc88 Mon Sep 17 00:00:00 2001 From: manjunath-grl Date: Fri, 11 Aug 2023 20:13:24 +0530 Subject: [PATCH 5/8] Modifed ACFREMON-1.1 test --- .../certification/Test_TC_ACFREMON_1_1.yaml | 5 +++-- .../tests/suites/certification/ci-pics-values | 1 - .../chip-tool/zap-generated/test/Commands.h | 5 +++-- .../zap-generated/test/Commands.h | 18 +++++++++++------- 4 files changed, 17 insertions(+), 12 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml index ba16ebfa782578..49c15891841dca 100644 --- a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml @@ -187,6 +187,7 @@ tests: # type: list - label: "Step 6a: Read the global attribute: AcceptedCommandList" + PICS: "!ACFREMON.S.C00.Rsp" command: "readAttribute" attribute: "AcceptedCommandList" response: @@ -195,7 +196,7 @@ tests: type: list - label: - "Step 6b: Read the optional command (ResetCondition) in + "Step 6a: Read the optional command (ResetCondition) in AcceptedCommandList" PICS: ACFREMON.S.C00.Rsp command: "readAttribute" @@ -207,7 +208,7 @@ tests: #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: - "Step 6c: TH reads from the DUT the AcceptedCommandList attribute. + "Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 2297e00b79e15e..4c8ed132fdc008 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -2472,7 +2472,6 @@ RVCCLEANM.S.A0000=1 RVCCLEANM.S.A0001=1 RVCCLEANM.S.A0002=1 RVCCLEANM.S.A0003=1 -RVCCLEANM.S.Afffa=1 #Feature RVCCLEANM.S.F00=1 diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 97786347a8adf1..1efa4f4a5c0d9b 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -110946,11 +110946,12 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand } case 12: { LogStep(12, "Step 6a: Read the global attribute: AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("!ACFREMON.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList"); + LogStep(13, "Step 6a: Read the optional command (ResetCondition) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("ACFREMON.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); @@ -110958,7 +110959,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand case 14: { LogStep( 14, - "Step 6c: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT contain any additional " + "Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT contain any additional " "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any " 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 f1796b498714ad..3487b61ad5c6ed 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -171370,20 +171370,24 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { break; case 12: ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + if (ShouldSkip("!ACFREMON.S.C00.Rsp")) { + NextTest(); + return; + } err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_12(); break; case 13: ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 13 : Step 6a: Read the optional command (ResetCondition) in AcceptedCommandList\n"); if (ShouldSkip("ACFREMON.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_13(); + err = TestStep6aReadTheOptionalCommandResetConditionInAcceptedCommandList_13(); break; case 14: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 6c: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT " + " ***** Test Step 14 : Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT " "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " @@ -171394,7 +171398,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6cThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); + err = TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: GeneratedCommandList\n"); @@ -171780,7 +171784,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_13() + CHIP_ERROR TestStep6aReadTheOptionalCommandResetConditionInAcceptedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171790,7 +171794,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the optional command (ResetCondition) in AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -171804,7 +171808,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6cThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() + TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; From d262f256c1394d0005a615555b468b60b49c7283 Mon Sep 17 00:00:00 2001 From: manjunath-grl Date: Tue, 15 Aug 2023 23:08:11 +0530 Subject: [PATCH 6/8] Revert back EventList changes --- .../certification/Test_TC_ACFREMON_1_1.yaml | 55 +- .../suites/certification/Test_TC_ACL_1_1.yaml | 60 +- .../suites/certification/Test_TC_ACT_1_1.yaml | 31 + .../certification/Test_TC_AIRQUAL_1_1.yaml | 57 +- .../certification/Test_TC_ALOGIN_1_12.yaml | 27 +- .../certification/Test_TC_APBSC_1_10.yaml | 28 +- .../Test_TC_APPLAUNCHER_1_3.yaml | 27 +- .../Test_TC_AUDIOOUTPUT_1_8.yaml | 26 +- .../certification/Test_TC_BIND_1_1.yaml | 39 + .../certification/Test_TC_BINFO_1_1.yaml | 89 +- .../certification/Test_TC_BOOL_1_1.yaml | 45 +- .../certification/Test_TC_BRBINFO_1_1.yaml | 93 +- .../suites/certification/Test_TC_CC_1_1.yaml | 38 +- .../certification/Test_TC_CDOCONC_1_1.yaml | 53 +- .../certification/Test_TC_CGEN_1_1.yaml | 27 +- .../certification/Test_TC_CHANNEL_1_6.yaml | 27 +- .../certification/Test_TC_CMOCONC_1_1.yaml | 55 +- .../certification/Test_TC_CNET_1_3.yaml | 44 + .../Test_TC_CONTENTLAUNCHER_1_11.yaml | 27 +- .../suites/certification/Test_TC_DA_1_8.yaml | 134 +- .../certification/Test_TC_DESC_1_1.yaml | 39 +- .../certification/Test_TC_DGETH_1_1.yaml | 41 + .../certification/Test_TC_DGGEN_1_1.yaml | 107 +- .../certification/Test_TC_DGSW_1_1.yaml | 74 +- .../certification/Test_TC_DGTHREAD_1_1.yaml | 125 +- .../certification/Test_TC_DGWIFI_1_1.yaml | 91 +- .../certification/Test_TC_DLOG_1_1.yaml | 39 + .../certification/Test_TC_DRLK_1_1.yaml | 69 +- .../suites/certification/Test_TC_FAN_1_1.yaml | 10 + .../certification/Test_TC_FLABEL_1_1.yaml | 38 + .../certification/Test_TC_FLDCONC_1_1.yaml | 54 +- .../suites/certification/Test_TC_FLW_1_1.yaml | 38 + .../certification/Test_TC_GRPKEY_1_1.yaml | 54 +- .../suites/certification/Test_TC_G_1_1.yaml | 26 +- .../certification/Test_TC_HEPAFREMON_1_1.yaml | 56 +- .../certification/Test_TC_ICDM_1_1.yaml | 57 +- .../suites/certification/Test_TC_ILL_1_1.yaml | 34 + .../suites/certification/Test_TC_I_1_1.yaml | 35 +- .../Test_TC_KEYPADINPUT_1_2.yaml | 27 +- .../certification/Test_TC_LCFG_1_1.yaml | 26 +- .../certification/Test_TC_LOWPOWER_1_1.yaml | 27 +- .../certification/Test_TC_LTIME_1_2.yaml | 26 +- .../certification/Test_TC_LUNIT_1_2.yaml | 26 +- .../suites/certification/Test_TC_LVL_1_1.yaml | 28 +- .../suites/certification/Test_TC_LWM_1_1.yaml | 8 + .../certification/Test_TC_MEDIAINPUT_1_4.yaml | 28 +- .../Test_TC_MEDIAPLAYBACK_1_7.yaml | 28 +- .../suites/certification/Test_TC_MOD_1_1.yaml | 56 +- .../certification/Test_TC_NDOCONC_1_1.yaml | 55 +- .../suites/certification/Test_TC_OCC_1_1.yaml | 27 +- .../suites/certification/Test_TC_OO_1_1.yaml | 41 + .../certification/Test_TC_OPCREDS_1_2.yaml | 55 + .../certification/Test_TC_OPSTATE_1_1.yaml | 87 +- .../certification/Test_TC_OZCONC_1_1.yaml | 55 +- .../suites/certification/Test_TC_PCC_1_1.yaml | 478 +- .../certification/Test_TC_PMHCONC_1_1.yaml | 55 +- .../certification/Test_TC_PMICONC_1_1.yaml | 55 +- .../certification/Test_TC_PMKCONC_1_1.yaml | 55 +- .../suites/certification/Test_TC_PRS_1_1.yaml | 43 + .../certification/Test_TC_PSCFG_1_1.yaml | 55 +- .../suites/certification/Test_TC_PS_1_1.yaml | 137 +- .../certification/Test_TC_REFALM_1_1.yaml | 13 + .../suites/certification/Test_TC_RH_1_1.yaml | 54 +- .../certification/Test_TC_RNCONC_1_1.yaml | 55 +- .../certification/Test_TC_RVCCLEANM_1_1.yaml | 55 +- .../certification/Test_TC_RVCOPSTATE_1_1.yaml | 87 +- .../certification/Test_TC_RVCRUNM_1_1.yaml | 55 +- .../certification/Test_TC_SMOKECO_1_1.yaml | 117 +- .../certification/Test_TC_SWTCH_1_1.yaml | 172 +- .../suites/certification/Test_TC_S_1_1.yaml | 102 +- .../certification/Test_TC_TCCM_1_1.yaml | 8 + .../certification/Test_TC_TCTL_1_1.yaml | 15 + .../certification/Test_TC_TGTNAV_1_9.yaml | 27 +- .../certification/Test_TC_TIMESYNC_1_1.yaml | 143 +- .../suites/certification/Test_TC_TMP_1_1.yaml | 57 +- .../certification/Test_TC_TSTAT_1_1.yaml | 57 +- .../certification/Test_TC_TSUIC_1_1.yaml | 59 +- .../certification/Test_TC_TVOCCONC_1_1.yaml | 55 +- .../certification/Test_TC_ULABEL_1_1.yaml | 35 + .../certification/Test_TC_WAKEONLAN_1_5.yaml | 28 +- .../certification/Test_TC_WNCV_1_1.yaml | 28 +- .../tests/suites/certification/ci-pics-values | 2 +- .../chip-tool/zap-generated/test/Commands.h | 8790 ++++++++++--- .../zap-generated/test/Commands.h | 10978 ++++++++++++---- 84 files changed, 18388 insertions(+), 6051 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml index 49c15891841dca..56cae49a569db6 100644 --- a/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACFREMON_1_1.yaml @@ -82,6 +82,16 @@ tests: hasMasksSet: [0x3] - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -177,14 +187,43 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5: TH reads EventList attribute from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: TH reads EventList attribute from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool activatedcarbonfiltermonitoring read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685958846.723249][11454:11456] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0072 Attribute 0x0000_FFFA DataVersion: 403478864 + [1685958846.723431][11454:11456] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" PICS: "!ACFREMON.S.C00.Rsp" diff --git a/src/app/tests/suites/certification/Test_TC_ACL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACL_1_1.yaml index 312847a7b57067..f0d11108473f9a 100644 --- a/src/app/tests/suites/certification/Test_TC_ACL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACL_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList attribute from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 2, 3, 4, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList attribute from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -104,14 +114,48 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5a: TH reads EventList attribute from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0, 1] + - label: "Step 5a: TH reads EventList attribute from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0, 1] + + - label: + "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT + contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the + Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool accesscontrol read event-list 1 0 + + Via the TH (chip-tool), verify: + -that EventList attribute contains list of supported events. + -that list has two entries as value of 0 and 1 (if SAccessControlEntryChanged and AccessControlExtensionChanged event is supported). + + [1676456597.556478][24006:24008] CHIP:DMG: } + [1676456597.556640][24006:24008] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001F Attribute 0x0000_FFFA DataVersion: 3448736795 + [1676456597.556677][24006:24008] CHIP:TOO: EventList: 2 entries + [1676456597.556687][24006:24008] CHIP:TOO: [1]: 0 + [1676456597.556693][24006:24008] CHIP:TOO: [2]: 1 + [1676456597.556763][24006:24008] CHIP:EM: <<< [E:51140i S:1376 M:55400435 (Ack:189635613)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676456597.556778][24006:24008] CHIP:IN: (S) Sending msg 55400435 on secure session with LSID: 1376 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: diff --git a/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml index 1287673e7da9f2..f4f7fb1bb43081 100644 --- a/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ACT_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -64,6 +74,27 @@ tests: type: list contains: [2] + - label: "Step 5: TH reads EventList attribute from DUT" + verification: | + ./chip-tool actions read event-list 1 1 + + Via the TH (chip-tool), verify: + -that EventList attribute contains list of supported events. + -that list has 1 entry(0) for this cluster. + + [1676460741.103254][37023:37025] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0025 Attribute 0x0000_FFFA DataVersion: 928273128 + [1676460741.103303][37023:37025] CHIP:TOO: EventList: 1 entries + [1676460741.103320][37023:37025] CHIP:TOO: [1]: 0 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + # Checking only type check all commands are optional - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_AIRQUAL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_AIRQUAL_1_1.yaml index 8b861be9f6370e..7f7621b75a50d6 100644 --- a/src/app/tests/suites/certification/Test_TC_AIRQUAL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_AIRQUAL_1_1.yaml @@ -94,6 +94,16 @@ tests: hasMasksSet: [0x8] - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -139,16 +149,45 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5: TH reads EventList attribute from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: TH reads EventList attribute from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool airquality read event-list 1 1 + + On TH(Chip-tool), verify the Event-list value is 0 entries + + [1685259470.356105][111277:111279] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_005B Attribute 0x0000_FFFA DataVersion: 3241788930 + [1685259470.356143][111277:111279] CHIP:TOO: EventList: 0 entries + [1685259470.356213][111277:111279] CHIP:EM: <<< [E:2990i S:55081 M:20552289 (Ack:224151602)] (S) Msg TX to 1:0000000000000001 [BFD3] --- Type 0000:10 (SecureChannel:StandaloneAck) + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - - label: "Step 6:a Read the global attribute: AcceptedCommandList" + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" response: diff --git a/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml b/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml index cc9889b96431a5..b60b6d484f7ce0 100644 --- a/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml +++ b/src/app/tests/suites/certification/Test_TC_ALOGIN_1_12.yaml @@ -50,6 +50,16 @@ tests: type: bitmap32 - label: "Step 3: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -72,11 +82,12 @@ tests: constraints: type: list contains: [1] - # EventList disabled for 1.2 - # - label: "Step 6: TH reads EventList attribute from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: TH reads EventList attribute from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml b/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml index f70965471ecb97..7c79ec9d5a8920 100644 --- a/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml +++ b/src/app/tests/suites/certification/Test_TC_APBSC_1_10.yaml @@ -50,6 +50,17 @@ tests: type: bitmap32 - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [2, 4, 5, 6, 7, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -99,11 +110,12 @@ tests: value: [] constraints: type: list - # EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml b/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml index 3c347770e58a01..f1198214bb2ab8 100644 --- a/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_APPLAUNCHER_1_3.yaml @@ -60,6 +60,16 @@ tests: type: bitmap32 - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -101,11 +111,12 @@ tests: constraints: type: list contains: [3] - # EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml index 55b592ecedf0de..6493ece836f96e 100644 --- a/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_AUDIOOUTPUT_1_8.yaml @@ -60,6 +60,16 @@ tests: hasMasksClear: [0x2] - label: "Step 3: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -82,10 +92,12 @@ tests: value: [] constraints: type: list - # - label: "Step 6: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml index fbb27f8652c68c..d9f3ce1c885008 100644 --- a/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BIND_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -92,6 +102,35 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool binding read event-list 1 1 + + Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: + [1676456961.540195][24182:24184] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_001E Attribute 0x0000_FFFA DataVersion: 2461106731 + [1676456961.540229][24182:24184] CHIP:TOO: EventList: 0 entries + [1676456961.540302][24182:24184] CHIP:EM: <<< [E:6972i S:40230 M:131899248 (Ack:28190068)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676456961.540320][24182:24184] CHIP:IN: (S) Sending msg 131899248 on secure session with LSID: 40230 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list diff --git a/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml index 3902cc32ceacee..fdf891bbc0791f 100644 --- a/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BINFO_1_1.yaml @@ -51,6 +51,36 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 8, + 9, + 10, + 19, + 65528, + 65529, + 65530, + 65531, + 65532, + 65533, + ] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -211,20 +241,19 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5a: TH1 reads EventList from DUT" - # PICS: - # " !BINFO.S.E00 && - # !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: TH1 reads EventList from DUT" + PICS: + " !BINFO.S.E00 && !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 && + PICS_EVENT_LIST_ENABLED" + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 5b: Read BINFO.S.E00(StartUp) event in EventList" - PICS: BINFO.S.E00 + PICS: BINFO.S.E00 && PICS_EVENT_LIST_ENABLED command: "readAttribute" attribute: "EventList" response: @@ -233,7 +262,7 @@ tests: contains: [0] - label: "Step 5c: Read BINFO.S.E01(ShutDown) event in EventList" - PICS: BINFO.S.E01 + PICS: BINFO.S.E01 && PICS_EVENT_LIST_ENABLED command: "readAttribute" attribute: "EventList" response: @@ -242,7 +271,7 @@ tests: contains: [1] - label: "Step 5d: Read BINFO.S.E02(Leave) event in EventList" - PICS: BINFO.S.E02 + PICS: BINFO.S.E02 && PICS_EVENT_LIST_ENABLED command: "readAttribute" attribute: "EventList" response: @@ -251,7 +280,7 @@ tests: contains: [2] - label: "Step 5e: Read (ReachableChanged) event in EventList" - PICS: BINFO.S.A0011 + PICS: BINFO.S.A0011 && PICS_EVENT_LIST_ENABLED command: "readAttribute" attribute: "EventList" response: @@ -259,6 +288,36 @@ tests: type: list contains: [3] + - label: + "Step 5f: TH reads EventList attribute from DUT. 1.The list SHALL NOT + contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the + Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool basicinformation read event-list 1 + + Verify "EventList " consists the list of supported events (0, 1, 2)on the TH(Chip-tool) Log: + [1676291718.628403][27706:27708] CHIP:DMG: } + [1676291718.628931][27706:27708] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_FFFA DataVersion: 1838069172 + [1676291718.628983][27706:27708] CHIP:TOO: EventList: 3 entries + [1676291718.629003][27706:27708] CHIP:TOO: [1]: 0 + [1676291718.629015][27706:27708] CHIP:TOO: [2]: 1 + [1676291718.629026][27706:27708] CHIP:TOO: [3]: 2 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list diff --git a/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml index 6a876f3cf29abe..eef7cf54c85715 100644 --- a/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BOOL_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -70,20 +80,21 @@ tests: value: [] constraints: type: list - # EventList disabled for 1.2 - # - label: "Step 7: Read the global attribute: EventList" - # PICS: BOOL.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [0] - # constraints: - # type: list - # - label: "Step 7: Read the global attribute: EventList" - # PICS: " !BOOL.S.E00 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 7: Read the global attribute: EventList" + PICS: BOOL.S.E00 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [0] + constraints: + type: list + + - label: "Step 7: Read the global attribute: EventList" + PICS: " !BOOL.S.E00 && PICS_EVENT_LIST_ENABLED " + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml index c370a2d94656ef..63e238f760b461 100644 --- a/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_BRBINFO_1_1.yaml @@ -64,6 +64,16 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [17, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: " !PICS_EVENT_LIST_ENABLED " command: "readAttribute" attribute: "AttributeList" response: @@ -249,33 +259,62 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5a: TH reads optional event(StartUp) in EventList" - # PICS: BRBINFO.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0] - - # - label: "Step 5b: TH reads optional attribute(ShutDown) in EventList" - # PICS: BRBINFO.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1] - - # - label: "Step 5c: TH reads optional attribute(Leave) in EventList" - # PICS: BRBINFO.S.E02 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [2] + - label: "Step 5a: TH reads optional event(StartUp) in EventList" + PICS: BRBINFO.S.E00 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0] + + - label: "Step 5b: TH reads optional attribute(ShutDown) in EventList" + PICS: BRBINFO.S.E01 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1] + + - label: "Step 5c: TH reads optional attribute(Leave) in EventList" + PICS: BRBINFO.S.E02 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [2] + + - label: + "Step 5d: TH reads EventList attribute from DUT. 1.The list SHALL NOT + contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the + Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool bridgeddevicebasicinformation read event-list 1 3 + + Via the TH (chip-tool), verify: + -that EventList attribute contains list of supported events. + -that list has empty (0 entries) for this cluster. + + 1676439985.362352][22002:22004] CHIP:DMG: } + [1676439985.362396][22002:22004] CHIP:TOO: Endpoint: 3 Cluster: 0x0000_0039 Attribute 0x0000_FFFA DataVersion: 266846256 + [1676439985.362407][22002:22004] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: TH1 reads AcceptedCommandList from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml index afc00b8011894f..990b1b942a77a3 100644 --- a/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CC_1_1.yaml @@ -112,6 +112,28 @@ tests: hasMasksSet: [0x10] - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [ + 8, + 15, + 16385, + 16394, + 65528, + 65529, + 65530, + 65531, + 65532, + 65533, + ] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -608,14 +630,14 @@ tests: type: list contains: [16400] - # EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml index c05dc795204e36..4f020eaecd679e 100644 --- a/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CDOCONC_1_1.yaml @@ -185,6 +185,16 @@ tests: hasMasksClear: [0x20, 0x1] - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: " !PICS_EVENT_LIST_ENABLED " command: "readAttribute" attribute: "AttributeList" response: @@ -352,14 +362,41 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT + contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the + Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - + 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), + these values SHALL be ignored. 3.The list SHALL NOT contain any values + in the Test Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), + (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where + XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool carbondioxideconcentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685960313.959334][11536:11538] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_040D Attribute 0x0000_FFFA DataVersion: 832916414 + [1685960313.959445][11536:11538] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CGEN_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CGEN_1_1.yaml index 78469161d30345..983b77c6b33a4f 100644 --- a/src/app/tests/suites/certification/Test_TC_CGEN_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CGEN_1_1.yaml @@ -48,6 +48,17 @@ tests: type: bitmap32 - label: "Step 4: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [0, 1, 2, 3, 4, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -55,14 +66,14 @@ tests: type: list contains: [0, 1, 2, 3, 4, 65528, 65529, 65531, 65532, 65533] - # EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml b/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml index ba92efb91bb92d..a89062e3f6fdeb 100644 --- a/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml +++ b/src/app/tests/suites/certification/Test_TC_CHANNEL_1_6.yaml @@ -72,6 +72,16 @@ tests: hasMasksSet: [0x2] - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -157,11 +167,12 @@ tests: constraints: type: list contains: [1] - # EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml index 5abf63b62a4a36..c01ac0d8fb20fc 100644 --- a/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_CMOCONC_1_1.yaml @@ -185,6 +185,16 @@ tests: hasMasksClear: [0x20] - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -351,14 +361,43 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool carbonmonoxideconcentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that theEventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685965965.418394][11855:11857] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_040C Attribute 0x0000_FFFA DataVersion: 2062554595 + [1685965965.418498][11855:11857] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml b/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml index 6565fdb6d2783d..76f25e442c61b4 100644 --- a/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml +++ b/src/app/tests/suites/certification/Test_TC_CNET_1_3.yaml @@ -73,6 +73,16 @@ tests: value: 4 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -201,6 +211,40 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + Onnetwork + ./chip-tool networkcommissioning read event-list 1 0 + + Via the TH (chip-tool), verify: + -that EventList attribute contains list of supported events. + -that list has empty (0 entries) for this cluster. + + [1677044346.136984][29792:29794] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0031 Attribute 0x0000_FFFA DataVersion: 2890326041 + [1677044346.137022][29792:29794] CHIP:TOO: EventList: 0 entries + [1677044346.137100][29792:29794] CHIP:EM: <<< [E:3325i S:48426 M:159215324 (Ack:164155971)] (S) Msg TX to 1:0000000000000001 [682F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1677044346.137117][29792:29794] CHIP:IN: (S) Sending msg 159215324 on secure session with LSID: 48426 + [1677044346.137158][29792:29794] CHIP:EM: Flushed pending ack for MessageCounter:164155971 on exchange 3325i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH)" diff --git a/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml b/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml index 98e42191c009bc..17ed1badddc10e 100644 --- a/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml +++ b/src/app/tests/suites/certification/Test_TC_CONTENTLAUNCHER_1_11.yaml @@ -73,6 +73,16 @@ tests: hasMasksSet: [0x2] - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -129,11 +139,12 @@ tests: constraints: type: list contains: [2] - # EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml b/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml index c02817728e23e1..72263840727302 100644 --- a/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml +++ b/src/app/tests/suites/certification/Test_TC_DA_1_8.yaml @@ -34,7 +34,7 @@ tests: disabled: true - label: - "Step : For each of the following test cases, start the TH using the + "Step 1a: For each of the following test cases, start the TH using the appropriate certificate set, commission the TH using the DUT, then factory reset the TH:" verification: | @@ -43,18 +43,17 @@ tests: - Have the DUT commission the TH. Verify that the TH is successfully commissioned for each test case - factory reset the TH command when using chip-all-clusters-app: sudo rm -rf /tmp/chip_* - disabled: true - label: - "Step 1: CD Test Vector: The product_id_array field has one PID value + "Step 1b: CD Test Vector: The product_id_array field has one PID value which matches the PID value in DAC." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Fallback VID and PID encoding example from + "Step 1c: PAI Test Vector: Fallback VID and PID encoding example from spec: valid example showing that order or separators are not considered at all for the overall validity of the embedded fields" verification: | @@ -62,75 +61,77 @@ tests: disabled: true - label: - "Step : PAI Test Vector: Fallback VID and PID encoding example: valid - but less human-readable" + "Step 1d: PAI Test Vector: Fallback VID and PID encoding example: + valid but less human-readable" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: The authorized_paa_list contains two PAAs one - of which is valid PAA authorized to sign the PAI." + "Step 1e: CD Test Vector: The authorized_paa_list contains two PAAs + one of which is valid PAA authorized to sign the PAI." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Valid certificate public key curve prime256v1" + "Step 1f: DAC Test Vector: Valid certificate public key curve + prime256v1" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Valid certificate public key curve prime256v1" + "Step 1g: PAI Test Vector: Valid certificate public key curve + prime256v1" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Certificate includes optional Authority + "Step 1h: PAI Test Vector: Certificate includes optional Authority Information Access extension" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Certificate includes optional Subject + "Step 1i: PAI Test Vector: Certificate includes optional Subject Alternative Name extension" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Certificate includes optional Extended Key + "Step 1j: DAC Test Vector: Certificate includes optional Extended Key Usage extension" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: The product_id_array field has 100 PID values - one of which matches the PID value in DAC." + "Step 1k: CD Test Vector: The product_id_array field has 100 PID + values one of which matches the PID value in DAC." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Fallback VID and PID encoding example from + "Step 1l: PAI Test Vector: Fallback VID and PID encoding example from spec: valid but less readable" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Fallback VID and PID encoding example: valid - but less human-readable" + "Step 1m: DAC Test Vector: Fallback VID and PID encoding example: + valid but less human-readable" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Mix of Fallback and Matter OID encoding for + "Step 1n: DAC Test Vector: Mix of Fallback and Matter OID encoding for VID and PID: valid Matter OIDs are used and wrong values in the common-name are ignored" verification: | @@ -138,14 +139,14 @@ tests: disabled: true - label: - "Step : CD Test Vector: The dac_origin_vendor_id and + "Step 1o: CD Test Vector: The dac_origin_vendor_id and dac_origin_product_id fields are not present." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Certificate Key Usage extension + "Step 1p: PAI Test Vector: Certificate Key Usage extension diginalSignature field is wrong (not present for DAC and present for PAI which is OK as optional)" verification: | @@ -153,62 +154,62 @@ tests: disabled: true - label: - "Step : PAI Test Vector: Valid certificate signature algorithm + "Step 1q: PAI Test Vector: Valid certificate signature algorithm ECDSA_WITH_SHA256" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Valid certificate signature algorithm + "Step 1r: DAC Test Vector: Valid certificate signature algorithm ECDSA_WITH_SHA256" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Fallback VID and PID encoding example from + "Step 1s: DAC Test Vector: Fallback VID and PID encoding example from spec: valid example showing that order or separators are not considered at all for the overall validity of the embedded fields" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - - label: "Step : CD Test Vector: Valid CMS version set to v3." + - label: "Step 1t: CD Test Vector: Valid CMS version set to v3." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Fallback VID and PID encoding example from + "Step 1u: PAI Test Vector: Fallback VID and PID encoding example from spec: valid and recommended since easily human-readable" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: The subjectKeyIdentifier contains SKID of a + "Step 1v: CD Test Vector: The subjectKeyIdentifier contains SKID of a well-known Zigbee Alliance certificate." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Certificate Basic Constraint extension + "Step 1w: PAI Test Vector: Certificate Basic Constraint extension PathLen field set to 0" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Certificate includes optional Authority + "Step 1x: DAC Test Vector: Certificate includes optional Authority Information Access extension" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Fallback VID and PID encoding example from + "Step 1y: PAI Test Vector: Fallback VID and PID encoding example from spec: invalid since substring following Mpid: is not exactly 4 uppercase hexadecimal digits" verification: | @@ -216,45 +217,45 @@ tests: disabled: true - label: - "Step : DAC Test Vector: Fallback VID and PID encoding example from + "Step 1z: DAC Test Vector: Fallback VID and PID encoding example from spec: valid but less readable" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Certificate includes optional Extended Key + "Step 1a1: PAI Test Vector: Certificate includes optional Extended Key Usage extension" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Fallback VID and PID encoding example from + "Step 1a2: PAI Test Vector: Fallback VID and PID encoding example from spec: valid and recommended since easily human-readable" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: The product_id_array field has 10 PID values - one of which matches the PID value in DAC." + "Step 1a3: CD Test Vector: The product_id_array field has 10 PID + values one of which matches the PID value in DAC." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - - label: "Step : CD Test Vector: Valid CMS digest algorithm SHA256." + - label: "Step 1a4: CD Test Vector: Valid CMS digest algorithm SHA256." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - - label: "Step : CD Test Vector: Valid format_version field set to 1." + - label: "Step 1a5: CD Test Vector: Valid format_version field set to 1." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Fallback VID and PID encoding example from + "Step 1a6: PAI Test Vector: Fallback VID and PID encoding example from spec: valid but highly discouraged since embedding of substrings within other substrings may be confusing to human readers" verification: | @@ -262,48 +263,49 @@ tests: disabled: true - label: - "Step : CD Test Vector: The version_number field matches the VID and - PID used in a DeviceSoftwareVersionModel entry in the DCL matching the - certification record associated with the product presenting this CD." + "Step 1a7: CD Test Vector: The version_number field matches the VID + and PID used in a DeviceSoftwareVersionModel entry in the DCL matching + the certification record associated with the product presenting this + CD." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - - label: "Step : CD Test Vector: Valid CMS eContentType pkcs7-data." + - label: "Step 1a8: CD Test Vector: Valid CMS eContentType pkcs7-data." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: The optional authorized_paa_list field is not - present." + "Step 1a9: CD Test Vector: The optional authorized_paa_list field is + not present." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: The authorized_paa_list contains one valid PAA - which is authorized to sign the PAI." + "Step 1a10: CD Test Vector: The authorized_paa_list contains one valid + PAA which is authorized to sign the PAI." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Certificate includes optional Subject + "Step 1a11: DAC Test Vector: Certificate includes optional Subject Alternative Name extension" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: The authorized_paa_list contains ten PAAs one - of which is valid PAA authorized to sign the PAI." + "Step 1a12: CD Test Vector: The authorized_paa_list contains ten PAAs + one of which is valid PAA authorized to sign the PAI." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: The dac_origin_vendor_id and + "Step 1a13: CD Test Vector: The dac_origin_vendor_id and dac_origin_product_id fields present and contain the VID and PID values that match the VID and PID found in the DAC Subject DN." verification: | @@ -311,65 +313,67 @@ tests: disabled: true - label: - "Step : PAI Test Vector: Valid certificate version field set to v3(2)" + "Step 1a14: PAI Test Vector: Valid certificate version field set to + v3(2)" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Fallback VID and PID encoding example from - spec: invalid since substring following Mpid: is not exactly 4 + "Step 1a15: PAI Test Vector: Fallback VID and PID encoding example + from spec: invalid since substring following Mpid: is not exactly 4 uppercase hexadecimal digits" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: Origin VID/PID different than VID/PID (correct - use of origin)" + "Step 1a16: CD Test Vector: Origin VID/PID different than VID/PID + (correct use of origin)" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Valid certificate version field set to v3(2)" + "Step 1a17: DAC Test Vector: Valid certificate version field set to + v3(2)" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Fallback VID and PID encoding example from - spec: valid and recommended since easily human-readable" + "Step 1a18: DAC Test Vector: Fallback VID and PID encoding example + from spec: valid and recommended since easily human-readable" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : PAI Test Vector: Mix of Fallback and Matter OID encoding for - VID and PID: valid Matter OIDs are used and wrong values in the + "Step 1a19: PAI Test Vector: Mix of Fallback and Matter OID encoding + for VID and PID: valid Matter OIDs are used and wrong values in the common-name are ignored" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Fallback VID and PID encoding example from - spec: valid but highly discouraged since embedding of substrings + "Step 1a20: DAC Test Vector: Fallback VID and PID encoding example + from spec: valid but highly discouraged since embedding of substrings within other substrings may be confusing to human readers" verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : CD Test Vector: Valid CMS signature algorithm + "Step 1a21: CD Test Vector: Valid CMS signature algorithm ECDSA_WITH_SHA256." verification: | Verify that the TH is successfully commissioned for each test case disabled: true - label: - "Step : DAC Test Vector: Fallback VID and PID encoding example from - spec: valid and recommended since easily human-readable" + "Step 1a22: DAC Test Vector: Fallback VID and PID encoding example + from spec: valid and recommended since easily human-readable" verification: | Verify that the TH is successfully commissioned for each test case disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_DESC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DESC_1_1.yaml index db5a5733f4c659..59afd050075034 100644 --- a/src/app/tests/suites/certification/Test_TC_DESC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DESC_1_1.yaml @@ -60,8 +60,17 @@ tests: constraints: type: bitmap32 - #List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -108,6 +117,34 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool descriptor read event-list 1 0 + + Verify "EventList" is empty on the TH(Chip-tool) and below is the example log provided for raspi platform: + [1676366852.531123][9747:9749] CHIP:DMG: } + [1676366852.531291][9747:9749] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_001D Attribute 0x0000_FFFA DataVersion: 2384113486 + [1676366852.531334][9747:9749] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list diff --git a/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml index 4c3d5e4d9cda60..9506cc4abf3c31 100644 --- a/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGETH_1_1.yaml @@ -70,6 +70,16 @@ tests: hasMasksSet: [0x2] - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -214,6 +224,37 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool ethernetnetworkdiagnostics read event-list 1 0 + + Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: + [1676459303.132712][25176:25178] CHIP:DMG: } + [1676459303.132751][25176:25178] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0037 Attribute 0x0000_FFFA DataVersion: 2330608789 + [1676459303.132772][25176:25178] CHIP:TOO: EventList: 0 entries + [1676459303.132795][25176:25178] CHIP:EM: <<< [E:41866i S:29076 M:220910528 (Ack:11574043)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676459303.132799][25176:25178] CHIP:IN: (S) Sending msg 220910528 on secure session with LSID: 29076 + [1676459303.132809][25176:25178] CHIP:EM: Flushed pending ack for MessageCounter:11574043 on exchange 41866i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6a: TH reads AcceptedCommandList from DUT" PICS: ( DGETH.S.F00 || DGETH.S.F01 ) command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml index 4bf0dcdd581f52..ab8b23246903d0 100644 --- a/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGGEN_1_1.yaml @@ -49,6 +49,16 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 8, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -161,41 +171,74 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5a: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [3] + - label: "Step 5a: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [3] + + - label: "Step 5b: Read optional event(HardwareFaultChange) in EventList" + PICS: DGGEN.S.E00 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0] + + - label: "Step 5c: Read optional event(RadioFaultChange) in EventList" + PICS: DGGEN.S.E01 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1] - # - label: "Step 5b: Read optional event(HardwareFaultChange) in EventList" - # PICS: DGGEN.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0] + - label: "Step 5d: Read optional event(NetworkFaultChange) in EventList" + PICS: DGGEN.S.E02 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [2] - # - label: "Step 5c: Read optional event(RadioFaultChange) in EventList" - # PICS: DGGEN.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1] + - label: + "Step 5e: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool generaldiagnostics read event-list 1 0 - # - label: "Step 5d: Read optional event(NetworkFaultChange) in EventList" - # PICS: DGGEN.S.E02 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [2] + [1676459408.977604][25255:25257] CHIP:DMG: } + [1676459408.977730][25255:25257] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0033 Attribute 0x0000_FFFA DataVersion: 4000280266 + [1676459408.977747][25255:25257] CHIP:TOO: EventList: 4 entries + [1676459408.977752][25255:25257] CHIP:TOO: [1]: 0 + [1676459408.977755][25255:25257] CHIP:TOO: [2]: 1 + [1676459408.977759][25255:25257] CHIP:TOO: [3]: 2 + [1676459408.977761][25255:25257] CHIP:TOO: [4]: 3 + [1676459408.977790][25255:25257] CHIP:EM: <<< [E:3742i S:56131 M:239009454 (Ack:224914310)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676459408.977795][25255:25257] CHIP:IN: (S) Sending msg 239009454 on secure session with LSID: 56131 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_DGSW_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGSW_1_1.yaml index ba1b0a00745dac..fe83bf51609e1b 100644 --- a/src/app/tests/suites/certification/Test_TC_DGSW_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGSW_1_1.yaml @@ -61,6 +61,16 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -151,24 +161,52 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5a: TH reads EventList from DUT" - # PICS: DGSW.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0] - - # - label: "Step 5b: TH reads EventList from DUT" - # PICS: " !DGSW.S.E00 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: TH reads EventList from DUT" + PICS: DGSW.S.E00 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0] + + - label: "Step 5b: TH reads EventList from DUT" + PICS: " !DGSW.S.E00 && PICS_EVENT_LIST_ENABLED " + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5c: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool softwarediagnostics read event-list 1 0 + + [1676459464.108583][25294:25296] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0034 Attribute 0x0000_FFFA DataVersion: 650337896 + [1676459464.108607][25294:25296] CHIP:TOO: EventList: 1 entries + [1676459464.108612][25294:25296] CHIP:TOO: [1]: 0 + [1676459464.108635][25294:25296] CHIP:EM: <<< [E:23624i S:46243 M:182610763 (Ack:167177651)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676459464.108640][25294:25296] CHIP:IN: (S) Sending msg 182610763 on secure session with LSID: 46243 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: TH reads AcceptedCommandList from DUT" PICS: DGSW.S.F00 diff --git a/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml index 28a765341d849c..2f2564ba64e77b 100644 --- a/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGTHREAD_1_1.yaml @@ -96,6 +96,41 @@ tests: hasMasksSet: [0x8] - label: "Step 4a: TH reads mandatory attributes in AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [ + 0, + 1, + 2, + 3, + 4, + 5, + 7, + 8, + 9, + 10, + 11, + 12, + 13, + 59, + 60, + 61, + 62, + 65528, + 65529, + 65530, + 65531, + 65532, + 65533, + ] + + - label: "Step 4a: TH reads mandatory attributes in AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -227,36 +262,66 @@ tests: type: list contains: [58] - # EventList disabled for 1.2 - # - label: "Step 5a: TH reads EventList from DUT" - # PICS: " !DGTHREAD.S.E00 && !DGTHREAD.S.E01 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list - - # - label: - # "Step 5b: TH reads DGTHREAD.S.E00(ConnectionStatus) event in EventList" - # PICS: DGTHREAD.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0] - - # - label: - # "Step 5c: TH reads DGTHREAD.S.E01(NetworkFaultChange) event in - # EventList" - # PICS: DGTHREAD.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1] + - label: "Step 5a: TH reads EventList from DUT" + PICS: " !DGTHREAD.S.E00 && !DGTHREAD.S.E01 && PICS_EVENT_LIST_ENABLED" + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads DGTHREAD.S.E00(ConnectionStatus) event in EventList" + PICS: DGTHREAD.S.E00 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0] + + - label: + "Step 5c: TH reads DGTHREAD.S.E01(NetworkFaultChange) event in + EventList" + PICS: DGTHREAD.S.E01 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1] + + - label: + "Step 5d: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool threadnetworkdiagnostics read event-list 54 0 + + Verify " EventList attribute " consists the list of supported events, on TH(chip-tool) + + 1676459946.528321][25797:25799] CHIP:DMG: } + [1676459946.528472][25797:25799] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0035 Attribute 0x0000_FFFA DataVersion: 3757870882 + [1676459946.528508][25797:25799] CHIP:TOO: EventList: 0 entries + [1676459946.528588][25797:25799] CHIP:EM: <<< [E:39264i S:15932 M:176950481 (Ack:89396356)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676459946.528602][25797:25799] CHIP:IN: (S) Sending msg 176950481 on secure session with LSID: 15932 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: TH reads AcceptedCommandList from DUT" PICS: " !DGTHREAD.S.F01 " diff --git a/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml index d2514f632af4ee..6f1fc9d599369a 100644 --- a/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DGWIFI_1_1.yaml @@ -71,6 +71,17 @@ tests: hasMasksSet: [0x2] - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [0, 1, 2, 3, 4, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -138,42 +149,44 @@ tests: value: [] constraints: type: list - # EventList disabled for 1.2 - # - label: "Step 7a: TH reads EventList from DUT" - # PICS: " !DGWIFI.S.E00 && !DGWIFI.S.E01 && !DGWIFI.S.E02 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list - # - label: - # "Step 7b: TH reads optional attribute (Disconnection) in EventList - # from DUT" - # PICS: DGWIFI.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0] - # - label: - # "Step 7c: TH reads optional attribute (AssociationFailure) in - # EventList from DUT" - # PICS: DGWIFI.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1] - # - label: - # "Step 7d: TH reads optional attribute (ConnectionStatus) in EventList - # from DUT" - # PICS: DGWIFI.S.E02 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [2] + + - label: "Step 7a: TH reads EventList from DUT" + PICS: + " !DGWIFI.S.E00 && !DGWIFI.S.E01 && !DGWIFI.S.E02 && + PICS_EVENT_LIST_ENABLED" + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + - label: + "Step 7b: TH reads optional attribute (Disconnection) in EventList + from DUT" + PICS: DGWIFI.S.E00 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0] + - label: + "Step 7c: TH reads optional attribute (AssociationFailure) in + EventList from DUT" + PICS: DGWIFI.S.E01 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1] + - label: + "Step 7d: TH reads optional attribute (ConnectionStatus) in EventList + from DUT" + PICS: DGWIFI.S.E02 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [2] diff --git a/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml index 06040323ba0875..e6889393400d8c 100644 --- a/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DLOG_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: TTH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TTH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -92,6 +102,35 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool diagnosticlogs read event-list 1 0 + + Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: + [1676460292.457787][25934:25936] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0032 Attribute 0x0000_FFFA DataVersion: 1490287489 + [1676460292.457829][25934:25936] CHIP:TOO: EventList: 0 entries + [1676460292.457878][25934:25936] CHIP:EM: <<< [E:19170i S:29205 M:215468614 (Ack:174747327)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676460292.457892][25934:25936] CHIP:IN: (S) Sending msg 215468614 on secure session with LSID: 29205 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6a: TTH reads AcceptedCommandList from DUT" command: "readAttribute" attribute: "AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml b/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml index 4cd64f7ea0f44c..ace9293841b932 100644 --- a/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_DRLK_1_1.yaml @@ -174,6 +174,17 @@ tests: hasMasksSet: [0x1000] - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [0, 1, 2, 37, 38, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -385,35 +396,35 @@ tests: type: list contains: [44] - # EventList disabled for 1.2 - # - label: "Step 5a: TH reads EventList from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0, 2, 3] - - # - label: - # "Step 5b: TH reads optional event(Door position sensor) in EventList" - # PICS: DRLK.S.F05 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1] - - # - label: - # "Step 5c: TH reads optional event(User commands and database) in - # EventList" - # PICS: DRLK.S.F08 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [4] + - label: "Step 5a: TH reads EventList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0, 2, 3] + + - label: + "Step 5b: TH reads optional event(Door position sensor) in EventList" + PICS: DRLK.S.F05 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1] + + - label: + "Step 5c: TH reads optional event(User commands and database) in + EventList" + PICS: DRLK.S.F08 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [4] - label: "Step 6a: TH reads AcceptedCommandList from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml index 20b698cb6e85d0..6b278a1a7ea1c2 100644 --- a/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FAN_1_1.yaml @@ -128,6 +128,16 @@ tests: hasMasksSet: [0x20] - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: diff --git a/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml index a098c2480f2c35..61132393faad94 100644 --- a/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLABEL_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -92,6 +102,34 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool fixedlabel read event-list 1 0 + + Verify "EventList" contains a list of supported events. for this cluster the list SHALL be empty(0 entries) on the TH(Chip-tool) Log: + 1676374181.204773][11726:11728] CHIP:DMG: } + [1676374181.204925][11726:11728] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0040 Attribute 0x0000_FFFA DataVersion: 1038008956 + [1676374181.204971][11726:11728] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list diff --git a/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml index e0c9d9a7244fa7..b64b3feee7a915 100644 --- a/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLDCONC_1_1.yaml @@ -187,6 +187,16 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -352,14 +362,42 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool formaldehydeconcentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685960313.959334][11536:11538] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042B Attribute 0x0000_FFFA DataVersion: 41919546 + [1685960313.959445][11536:11538] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml b/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml index 37d1993e862170..2ae4c280ed81c6 100644 --- a/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_FLW_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -104,6 +114,34 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool flowmeasurement read event-list 1 1 + + Verify "EventList " consists the list of supported events, Also verify that the DUT response with an empty list (0 entries) if there is no events on the TH(Chip-tool) Log: + [1676363157.137814][9032:9034] CHIP:DMG: } + [1676363157.137855][9032:9034] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0404 Attribute 0x0000_FFFA DataVersion: 2916521407 + [1676363157.137868][9032:9034] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + # List values range check support https://github.com/project-chip/connectedhomeip/issues/26570 - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list diff --git a/src/app/tests/suites/certification/Test_TC_GRPKEY_1_1.yaml b/src/app/tests/suites/certification/Test_TC_GRPKEY_1_1.yaml index 9a9d4eb4ead37d..bbc25e6b518983 100644 --- a/src/app/tests/suites/certification/Test_TC_GRPKEY_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_GRPKEY_1_1.yaml @@ -61,6 +61,16 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: " !PICS_EVENT_LIST_ENABLED " command: "readAttribute" attribute: "AttributeList" response: @@ -106,13 +116,43 @@ tests: - name: "expectedValue" value: "y" - # - label: "Step 5a: TH1 reads EventList from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: TH1 reads EventList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool groupkeymanagement read event-list 1 0 + + Verify "EventList" contains the list of supported events, for this cluster list is empty(0 entries) on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + + [1689923450.468055][6130:6132] CHIP:DMG: } + [1689923450.468251][6130:6132] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003F Attribute 0x0000_FFFA DataVersion: 4114127542 + [1689923450.468339][6130:6132] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT diff --git a/src/app/tests/suites/certification/Test_TC_G_1_1.yaml b/src/app/tests/suites/certification/Test_TC_G_1_1.yaml index dd933420efd39d..f0e103e587b49b 100644 --- a/src/app/tests/suites/certification/Test_TC_G_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_G_1_1.yaml @@ -58,6 +58,16 @@ tests: hasMasksSet: [0x1] - label: "Step 4: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -65,14 +75,14 @@ tests: type: list contains: [0, 65528, 65529, 65531, 65532, 65533] - # EventList disabled for 1.2 - # - label: "Step 5: TH reads EventList from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5: TH reads EventList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 6: TH reads AcceptedCommandList from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml b/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml index 2f12608801499f..267e5c7e4dbd3f 100644 --- a/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_HEPAFREMON_1_1.yaml @@ -81,7 +81,17 @@ tests: type: bitmap32 hasMasksSet: [0x3] - - label: "Step 4a: Read the global attribute: AttributeList" + - label: "Step 4: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -176,14 +186,42 @@ tests: - name: "expectedValue" value: "y" - # EventList disabled for 1.2 - # - label: "Step 5: TH reads EventList attribute from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: TH reads EventList attribute from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool hepafiltermonitoring read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685962407.372836][11665:11667] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0071 Attribute 0x0000_FFFA DataVersion: 1815992336 + [1685962407.372946][11665:11667] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml index 6174152fce3db8..1f40e0cdb01e16 100755 --- a/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml @@ -58,6 +58,16 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList attribute from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList attribute from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -143,15 +153,44 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool icdmanagement read event-list 1 0 + + On TH(chip-tool), Verify that the DUT response provides a list of supported events. + For this cluster the list is usually empty but it can contain manufacturer specific event IDs. + + + [1685123881696] [39723:393591] [TOO] Endpoint: 0 Cluster: 0x0000_0046 Attribute 0x0000_FFFA DataVersion: 93993128 + [1685123881696] [39723:393591] [TOO] EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: TH reads AcceptedCommandList attribute from DUT" PICS: " !ICDM.S.F00 && !ICDM.S.C03.Rsp " diff --git a/src/app/tests/suites/certification/Test_TC_ILL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ILL_1_1.yaml index 4219db229dbbbc..8ea873b567d34b 100644 --- a/src/app/tests/suites/certification/Test_TC_ILL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ILL_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -75,6 +85,30 @@ tests: type: list contains: [4] + #Manufacturer specific event IDs check not possible + - label: + "Step 5: Read EventList attribute from the DUT.For this cluster the + list is usually empty but it can contain manufacturer specific event + IDs." + verification: | + ./chip-tool illuminancemeasurement read event-list 1 1 + + On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. + [1676460615.124432][26109:26111] CHIP:DMG: } + [1676460615.124515][26109:26111] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0400 Attribute 0x0000_FFFA DataVersion: 3234297781 + [1676460615.124549][26109:26111] CHIP:TOO: EventList: 0 entries + [1676460615.124602][26109:26111] CHIP:EM: <<< [E:27336i S:46366 M:151273397 (Ack:143578317)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676460615.124616][26109:26111] CHIP:IN: (S) Sending msg 151273397 on secure session with LSID: 46366 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml index deca64e22d4544..fb5fb954f62b3b 100644 --- a/src/app/tests/suites/certification/Test_TC_I_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_I_1_1.yaml @@ -57,7 +57,17 @@ tests: # constraints: # type: bitmap32 - - label: "Step 4: Read the global attribute: AttributeList" + - label: "Step 4: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -101,6 +111,7 @@ tests: value: [] constraints: type: list + #Commenting out the step IdentifyQueryResponse (0x00) is not supported by Matter 1.0 #- label: # "Read the optional command(IdentifyQueryResponse) in @@ -112,3 +123,25 @@ tests: # value: [0] # constraints: # type: list + + #Manufacturer specific event IDs check not possible + - label: + "Step 7: Read EventList attribute from the DUT. For this cluster the + list is usually empty but it can contain manufacturer specific event + IDs." + verification: | + ./chip-tool identify read event-list 1 1 + + On TH(chip-tool) verify that the DUT response provides a list of supported events. For this cluster the list is empty + 1676291532.905818][27664:27666] CHIP:DMG: } + [1676291532.905861][27664:27666] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0003 Attribute 0x0000_FFFA DataVersion: 4211856524 + [1676291532.905871][27664:27666] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml b/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml index be47ef92e3dc27..a13c83a6d3da94 100644 --- a/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_KEYPADINPUT_1_2.yaml @@ -84,6 +84,16 @@ tests: hasMasksSet: [0x4] - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -106,11 +116,12 @@ tests: constraints: type: list contains: [1] - # EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml index 85fe3ed8af7bc6..9797c149fd9fbf 100644 --- a/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LCFG_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -55,14 +65,14 @@ tests: type: list contains: [0, 1, 65528, 65529, 65531, 65532, 65533] - # EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 6: TH reads AcceptedCommandList from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml index e955835625c738..5aca08d6cb6097 100644 --- a/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LOWPOWER_1_1.yaml @@ -50,6 +50,16 @@ tests: type: bitmap32 - label: "Step 3: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + value: [65528, 65529, 65530, 65531, 65532, 65533] + constraints: + type: list + + - label: "Step 3: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -72,11 +82,12 @@ tests: value: [] constraints: type: list - # EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml index 33950dd9f0a6a9..57fe0341318cfc 100644 --- a/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_LTIME_1_2.yaml @@ -49,6 +49,16 @@ tests: maxValue: 1 - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -78,14 +88,14 @@ tests: type: list contains: [2] - # EventList disabled for 1.2 - # - label: "Step 5: TH reads EventList from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5: TH reads EventList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 6: TH reads AcceptedCommandList from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml b/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml index 7fbfe8f6e54b36..fa50e96346d9f3 100644 --- a/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_LUNIT_1_2.yaml @@ -60,6 +60,16 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -78,14 +88,14 @@ tests: type: list contains: [0] - # EventList disabled for 1.2 - # - label: "Step 5: TH reads EventList from DUT" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5: TH reads EventList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 6: TH reads AcceptedCommandList from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml index a4905e2992c8cb..969f09c8313941 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_1_1.yaml @@ -82,6 +82,16 @@ tests: hasMasksSet: [0x4] - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 15, 17, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -199,12 +209,12 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 5: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_LWM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_LWM_1_1.yaml index 36dc76ce57e379..e06d2b9761edd9 100644 --- a/src/app/tests/suites/certification/Test_TC_LWM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LWM_1_1.yaml @@ -74,6 +74,14 @@ tests: [1690184549.210831][15408:15410] CHIP:TOO: [10]: 65533 disabled: true + - label: "Step 5: TH reads from the DUT the EventList attribute." + verification: | + ./chip-tool laundrywashermode 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: + [1690184560.096147][15413:15415] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0051 Attribute 0x0000_FFFA DataVersion: 3075628268 + [1690184560.096165][15413:15415] CHIP:TOO: EventList: 0 entries + disabled: true + - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute." verification: | ./chip-tool laundrywashermode read accepted-command-list 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml index 9885a39219daea..19f5ac35d7d12a 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAINPUT_1_4.yaml @@ -62,6 +62,16 @@ tests: hasMasksSet: [0x1] - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -103,12 +113,12 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml index 57fe8a15f3d28a..18b9fde6dcd66e 100644 --- a/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml +++ b/src/app/tests/suites/certification/Test_TC_MEDIAPLAYBACK_1_7.yaml @@ -73,6 +73,16 @@ tests: hasMasksSet: [0x2] - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -234,12 +244,12 @@ tests: constraints: type: list contains: [10] - #EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml index abd126fe080310..1463f1ef97e668 100644 --- a/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_MOD_1_1.yaml @@ -68,6 +68,16 @@ tests: type: bitmap32 - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 3, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -145,15 +155,43 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Read the global attribute: EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: TH reads from the DUT the EventList attribute" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool modeselect 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: + + [1689917350.563148][4845:4847] CHIP:DMG: } + [1689917350.570130][4845:4847] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0050 Attribute 0x0000_FFFA DataVersion: 2316721935 + [1689917350.572844][4845:4847] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: TH reads AcceptedCommandList attribute from DUT" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml index 2331248c0ee889..94419844933a8e 100644 --- a/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_NDOCONC_1_1.yaml @@ -185,6 +185,16 @@ tests: hasMasksClear: [0x20] - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -351,15 +361,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + command: "readAttribute" + attribute: "EventList" + PICS: PICS_EVENT_LIST_ENABLED + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool nitrogendioxideconcentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685965965.418394][11855:11857] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0413 Attribute 0x0000_FFFA DataVersion: 2476226943 + [1685965965.418498][11855:11857] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml index f286978e90739b..ae73ecbd1b2307 100644 --- a/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OCC_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -55,15 +65,14 @@ tests: type: list contains: [0, 1, 2, 65528, 65529, 65531, 65532, 65533] - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml index bbd098e4903721..3978eeb80ee4f6 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml @@ -70,6 +70,16 @@ tests: hasMasksSet: [0x2] - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -131,6 +141,37 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool onoff 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: + + [1676352490.164738][6271:6273] CHIP:DMG: SuppressResponse = true, + [1676352490.164742][6271:6273] CHIP:DMG: InteractionModelRevision = 1 + [1676352490.164745][6271:6273] CHIP:DMG: } + [1676352490.164804][6271:6273] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFFA DataVersion: 2406349519 + [1676352490.164822][6271:6273] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" attribute: "AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_OPCREDS_1_2.yaml b/src/app/tests/suites/certification/Test_TC_OPCREDS_1_2.yaml index 9debb492a15792..4317aaa975c8dc 100644 --- a/src/app/tests/suites/certification/Test_TC_OPCREDS_1_2.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPCREDS_1_2.yaml @@ -51,6 +51,30 @@ tests: type: bitmap32 - label: "Step 4a: TH reads AttributeList from DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [ + 0xFFFD, + 0xFFFC, + 0xFFFB, + 0xFFFA, + 0xFFF9, + 0xFFF8, + 0x00, + 0x01, + 0x02, + 0x03, + 0x04, + 0x05, + ] + + - label: "Step 4a: TH reads AttributeList from DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -114,6 +138,37 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool operationalcredentials read event-list 1 0 + + Verify " EventList " on the TH(Chip-tool) Log: + Below is the example value which is observed in the RPI platform the value may be differ based on the dut implementation. + [1677044259.559572][29732:29734] CHIP:DMG: } + [1677044259.559655][29732:29734] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_003E Attribute 0x0000_FFFA DataVersion: 806612356 + [1677044259.560285][29732:29734] CHIP:TOO: EventList: 0 entries + [1677044259.560354][29732:29734] CHIP:EM: <<< [E:35511i S:22620 M:102340651 (Ack:219865295)] (S) Msg TX to 1:0000000000000001 [682F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1677044259.560369][29732:29734] CHIP:IN: (S) Sending msg 102340651 on secure session with LSID: 22620 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6a: TH reads AcceptedCommandList from DUT" command: "readAttribute" attribute: "AcceptedCommandList" diff --git a/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml index 9f896040d95167..a2c7bfb0dbb87f 100644 --- a/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml @@ -48,6 +48,17 @@ tests: type: bitmap32 - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [0, 1, 3, 4, 5, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -110,26 +121,62 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5a: TH reads from the DUT the EventList attribute." - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x00] - - # - label: - # "Step 5b: TH reads from the DUT the optional - # event(OperationCompletion) in EventList." - # PICS: PICS_EVENT_LIST_ENABLED && OPSTATE.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x01] + - label: "Step 5a: TH reads from the DUT the EventList attribute." + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x00] + + - label: + "Step 5b: TH reads from the DUT the optional + event(OperationCompletion) in EventList." + PICS: PICS_EVENT_LIST_ENABLED && OPSTATE.S.E01 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x01] + + - label: + "Step 5c: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool operationalstate read event-list 1 1 + + Verify " EventList attribute " value consists the list of mandatory event (0) and it may include the optional events (1) on the TH(Chip-tool) Log: + Below is the sample log provided for the raspi platform: + + + [1689672855.519671][16517:16519] CHIP:DMG: } + [1689672855.519771][16517:16519] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0060 Attribute 0x0000_FFFA DataVersion: 2102885775 + [1689672855.519802][16517:16519] CHIP:TOO: EventList: 2 entries + [1689672855.519820][16517:16519] CHIP:TOO: [1]: 0 + [1689672855.519826][16517:16519] CHIP:TOO: [2]: 1 + [1689672855.519881][16517:16519] CHIP:EM: <<< [E:4310i S:43612 M:6147213 (Ack:7921904)] (S) Msg TX to 1:0000000000000001 [BFDE] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1689672855.519894][16517:16519] CHIP:IN: (S) Sending msg 6147213 on secure session with LSID: 43612 + [1689672855.519920][16517:16519] CHIP:EM: Flushed pending ack for MessageCounter:7921904 on exchange 4310i + [1689672855.520077][16517:16517] CHIP:CTL: Shutting down the commissioner + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the optional command(Start) in AcceptedCommandList" PICS: OPSTATE.S.C02 diff --git a/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml index ae0778de4c1070..659fc245be8625 100644 --- a/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OZCONC_1_1.yaml @@ -187,6 +187,16 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -349,15 +359,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + command: "readAttribute" + attribute: "EventList" + PICS: PICS_EVENT_LIST_ENABLED + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: Read the global attribute: EventList. 1.The list SHALL NOT + contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool ozoneconcentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685965965.418394][11855:11857] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0415 Attribute 0x0000_FFFA DataVersion: 2247512014 + [1685965965.418498][11855:11857] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml index c85e44e8fa425b..fcf5943f1f5538 100644 --- a/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml @@ -128,6 +128,31 @@ tests: hasMasksSet: [0x40] - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [ + 0, + 1, + 2, + 17, + 18, + 19, + 32, + 65528, + 65529, + 65530, + 65531, + 65532, + 65533, + ] + + - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -371,206 +396,259 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5a: TH reads EventList from DUT" - # PICS: - # "PICS_EVENT_LIST_ENABLED && !PCC.S.E00 && !PCC.S.E01 && !PCC.S.E02 && - # !PCC.S.E03 && !PCC.S.E04 && !PCC.S.E05 && !PCC.S.E06 && !PCC.S.E07 && - # !PCC.S.E08 && !PCC.S.E09 && !PCC.S.E0a && !PCC.S.E0b && !PCC.S.E0c && - # !PCC.S.E0d && !PCC.S.E0e && !PCC.S.E0f && !PCC.S.E10 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list - - # - label: - # "Step 5b: TH reads from the DUT the EventList optional - # (SupplyVoltageLow)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x00] - - # - label: - # "Step 5c: TH reads from the DUT the EventList optional - # (SupplyVoltageHigh)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x01] - - # - label: - # "Step 5d: TH reads from the DUT the EventList optional - # (PowerMissingPhase)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E02 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x02] - - # - label: - # "Step 5e: TH reads from the DUT the EventList optional - # (SystemPressureLow)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E03 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x03] - - # - label: - # "Step 5f: TH reads from the DUT the EventList optional - # (SystemPressureHigh)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E04 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x04] - - # - label: - # "Step 5g: TH reads from the DUT the EventList optional - # (DryRunning)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E05 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x05] - - # - label: - # "Step 5h: TH reads from the DUT the EventList optional - # (MotorTemperatureHigh)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E06 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x06] - - # - label: - # "Step 5i: TH reads from the DUT the EventList optional - # (PumpMotorFatalFailure)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E07 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x07] - - # - label: - # "Step 5j: TH reads from the DUT the EventList optional - # (ElectronicTemperatureHigh)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E08 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x08] - - # - label: - # "Step 5k: TH reads from the DUT the EventList optional - # (PumpBlocked)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E09 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x09] - - # - label: - # "Step 5l: TH reads from the DUT the EventList optional - # (SensorFailure)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0a - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x0a] - - # - label: - # "Step 5m: TH reads from the DUT the EventList optional - # (ElectronicNonFatalFailure)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0b - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x0b] - - # - label: - # "Step 5n: TH reads from the DUT the EventList optional - # (ElectronicFatalFailure)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0c - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x0c] - - # - label: - # "Step 5o: TH reads from the DUT the EventList optional - # (GeneralFault)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0d - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x0d] - - # - label: - # "Step 5p: TH reads from the DUT the EventList optional - # (Leakage)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0e - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x0e] - - # - label: - # "Step 5q: TH reads from the DUT the EventList optional - # (AirDetection)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0f - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x0f] - - # - label: - # "Step 5r: TH reads from the DUT the EventList optional - # (TurbineOperation)attribute." - # PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E10 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x10] + - label: "Step 5a: TH reads EventList from DUT" + PICS: + "PICS_EVENT_LIST_ENABLED && !PCC.S.E00 && !PCC.S.E01 && !PCC.S.E02 && + !PCC.S.E03 && !PCC.S.E04 && !PCC.S.E05 && !PCC.S.E06 && !PCC.S.E07 && + !PCC.S.E08 && !PCC.S.E09 && !PCC.S.E0a && !PCC.S.E0b && !PCC.S.E0c && + !PCC.S.E0d && !PCC.S.E0e && !PCC.S.E0f && !PCC.S.E10 " + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList optional + (SupplyVoltageLow)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E00 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x00] + + - label: + "Step 5c: TH reads from the DUT the EventList optional + (SupplyVoltageHigh)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E01 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x01] + + - label: + "Step 5d: TH reads from the DUT the EventList optional + (PowerMissingPhase)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E02 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x02] + + - label: + "Step 5e: TH reads from the DUT the EventList optional + (SystemPressureLow)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E03 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x03] + + - label: + "Step 5f: TH reads from the DUT the EventList optional + (SystemPressureHigh)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E04 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x04] + + - label: + "Step 5g: TH reads from the DUT the EventList optional + (DryRunning)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E05 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x05] + + - label: + "Step 5h: TH reads from the DUT the EventList optional + (MotorTemperatureHigh)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E06 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x06] + + - label: + "Step 5i: TH reads from the DUT the EventList optional + (PumpMotorFatalFailure)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E07 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x07] + + - label: + "Step 5j: TH reads from the DUT the EventList optional + (ElectronicTemperatureHigh)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E08 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x08] + + - label: + "Step 5k: TH reads from the DUT the EventList optional + (PumpBlocked)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E09 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x09] + + - label: + "Step 5l: TH reads from the DUT the EventList optional + (SensorFailure)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0a + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x0a] + + - label: + "Step 5m: TH reads from the DUT the EventList optional + (ElectronicNonFatalFailure)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0b + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x0b] + + - label: + "Step 5n: TH reads from the DUT the EventList optional + (ElectronicFatalFailure)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0c + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x0c] + + - label: + "Step 5o: TH reads from the DUT the EventList optional + (GeneralFault)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0d + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x0d] + + - label: + "Step 5p: TH reads from the DUT the EventList optional + (Leakage)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0e + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x0e] + + - label: + "Step 5q: TH reads from the DUT the EventList optional + (AirDetection)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E0f + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x0f] + + - label: + "Step 5r: TH reads from the DUT the EventList optional + (TurbineOperation)attribute." + PICS: PICS_EVENT_LIST_ENABLED && PCC.S.E10 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x10] + + - label: + "Step 5s: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pumpconfigurationandcontrol read event-list 1 1 + + On TH(chip-tool) Verify that the DUT response contains the EventList attribute and have the list of supported events: + The list MAY include these optional entries: + - 0x00: SHALL be included if and only if PCC.S.E0000(SupplyVoltageLow) + - 0x01: SHALL be included if and only if PCC.S.E0001(SupplyVoltageHigh) + - 0x02: SHALL be included if and only if PCC.S.E0002(PowerMissingPhase) + - 0x03: SHALL be included if and only if PCC.S.E0003(SystemPressureLow) + - 0x04: SHALL be included if and only if PCC.S.E0004(SystemPressureHigh) + - 0x05: SHALL be included if and only if PCC.S.E0005(DryRunning) + - 0x06: SHALL be included if and only if PCC.S.E0006(MotorTemperatureHigh) + - 0x07: SHALL be included if and only if PCC.S.E0007(PumpMotorFatalFailure) + - 0x08: SHALL be included if and only if PCC.S.E0008(ElectronicTemperatureHigh) + - 0x09: SHALL be included if and only if PCC.S.E0009(PumpBlocked) + - 0x0a: SHALL be included if and only if PCC.S.E000a(SensorFailure) + - 0x0b: SHALL be included if and only if PCC.S.E000b(ElectronicNonFatalFailure) + - 0x0c: SHALL be included if and only if PCC.S.E000c(ElectronicFatalFailure) + - 0x0d: SHALL be included if and only if PCC.S.E000d(GeneralFault) + - 0x0e: SHALL be included if and only if PCC.S.E000e(Leakage) + - 0x0f: SHALL be included if and only if PCC.S.E000f(AirDetection) + - 0x10: SHALL be included if and only if PCC.S.E0010(TurbineOperation) + + Below is the example log which is observed in the RPI platform the value may be differ based on the dut implementation. + + + [1686205705.406393][87308:87310] CHIP:DMG: InteractionModelRevision = 1 + [1686205705.406398][87308:87310] CHIP:DMG: } + [1686205705.406480][87308:87310] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0200 Attribute 0x0000_FFFA DataVersion: 1492393553 + [1686205705.406516][87308:87310] CHIP:TOO: EventList: 0 entries + [1686205705.406573][87308:87310] CHIP:EM: <<< [E:31574i S:8973 M:178548658 (Ack:33480356)] (S) Msg TX to 1:0000000000000001 [6D93] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1686205705.406586][87308:87310] CHIP:IN: (S) Sending msg 178548658 on secure session with LSID: 8973 + [1686205705.406613][87308:87310] CHIP:EM: Flushed pending ack for MessageCounter:33480356 on exchange 31574i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list diff --git a/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml index 8fdb3ef8d99a9d..1ea2ab1c48abe4 100644 --- a/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMHCONC_1_1.yaml @@ -187,6 +187,16 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -351,15 +361,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + command: "readAttribute" + attribute: "EventList" + PICS: PICS_EVENT_LIST_ENABLED + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm1concentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685965965.418394][11855:11857] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042C Attribute 0x0000_FFFA DataVersion: 435533597 + [1685965965.418498][11855:11857] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml index c16fc7434ecf18..e5a30836467c32 100644 --- a/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMICONC_1_1.yaml @@ -187,6 +187,16 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -351,15 +361,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + command: "readAttribute" + attribute: "EventList" + PICS: PICS_EVENT_LIST_ENABLED + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm25concentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685965965.418394][11855:11857] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042A Attribute 0x0000_FFFA DataVersion: 3260928085 + [1685965965.418498][11855:11857] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml index 5efb0b6549f627..7184fa2ffd1079 100644 --- a/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PMKCONC_1_1.yaml @@ -187,6 +187,16 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -351,15 +361,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + command: "readAttribute" + attribute: "EventList" + PICS: PICS_EVENT_LIST_ENABLED + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pm10concentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685965965.418394][11855:11857] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042D Attribute 0x0000_FFFA DataVersion: 3341825536 + [1685965965.418498][11855:11857] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_PRS_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PRS_1_1.yaml index 7a724376723fc3..c0d8aa716b2a09 100644 --- a/src/app/tests/suites/certification/Test_TC_PRS_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PRS_1_1.yaml @@ -60,6 +60,16 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: Read the global mandatory attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global mandatory attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -165,6 +175,39 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool pressuremeasurement read event-list 1 1 + + Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: + Below is the example log which is observed in the RPI platform the value may be differ based on the dut implementation. + + [1686210799.291240][88805:88807] CHIP:DMG: } + [1686210799.291272][88805:88807] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0403 Attribute 0x0000_FFFA DataVersion: 897514884 + [1686210799.291292][88805:88807] CHIP:TOO: EventList: 0 entries + [1686210799.291317][88805:88807] CHIP:EM: <<< [E:36299i S:44480 M:65231550 (Ack:23015388)] (S) Msg TX to 1:0000000000000001 [6D93] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1686210799.291321][88805:88807] CHIP:IN: (S) Sending msg 65231550 on secure session with LSID: 44480 + [1686210799.291331][88805:88807] CHIP:EM: Flushed pending ack for MessageCounter:23015388 on exchange 36299i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) diff --git a/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml index 894850a9421549..daf03596787564 100644 --- a/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PSCFG_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4: TH reads the AttributeList attribute from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: TH reads the AttributeList attribute from the DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -70,25 +80,26 @@ tests: value: [] constraints: type: list - #EvevntList disabled for 1.2 - # #Manufacturer specific event IDs check not possible - # - label: - # "Step 7: Read EventList attribute from the DUT.For this cluster the - # list is usually empty but it can contain manufacturer specific event - # IDs." - # verification: | - # ./chip-tool powersourceconfiguration read event-list 1 0 - # Verify "EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: - # [1676465821.421939][28007:28009] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFA DataVersion: 1659126157 - # [1676465821.421975][28007:28009] CHIP:TOO: EventList: 0 entries - # [1676465821.422017][28007:28009] CHIP:EM: <<< [E:59109i S:5686 M:123325798 (Ack:214612225)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - # [1676465821.422029][28007:28009] CHIP:IN: (S) Sending msg 123325798 on secure session with LSID: 5686 - # cluster: "LogCommands" - # command: "UserPrompt" - # PICS: PICS_USER_PROMPT - # arguments: - # values: - # - name: "message" - # value: "Please enter 'y' for success" - # - name: "expectedValue" - # value: "y" + + #Manufacturer specific event IDs check not possible + - label: + "Step 7: Read EventList attribute from the DUT.For this cluster the + list is usually empty but it can contain manufacturer specific event + IDs." + verification: | + ./chip-tool powersourceconfiguration read event-list 1 0 + + Verify "EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log: + [1676465821.421939][28007:28009] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_002E Attribute 0x0000_FFFA DataVersion: 1659126157 + [1676465821.421975][28007:28009] CHIP:TOO: EventList: 0 entries + [1676465821.422017][28007:28009] CHIP:EM: <<< [E:59109i S:5686 M:123325798 (Ack:214612225)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676465821.422029][28007:28009] CHIP:IN: (S) Sending msg 123325798 on secure session with LSID: 5686 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml index b4edb57fbb80b8..a7c768b7d70c4f 100644 --- a/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PS_1_1.yaml @@ -93,6 +93,17 @@ tests: hasMasksSet: [0x2, 0x8] - label: "Step 4: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [0, 1, 2, 0x1f, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -159,64 +170,68 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 - # - label: "Step 7a: Read the global attribute: EventList" - # PICS: "PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list - # - label: "Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList" - # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0] - # - label: "Step 7c: Read PS.S.E01(BatFaultChange) event in EventList" - # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1] - # - label: "Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList" - # PICS: PICS_EVENT_LIST_ENABLED && PS.S.E02 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [2] - # #Manufacturer specific event IDs check not possible - # - label: - # "Step 7e: Read EventList attribute from the DUT.For this cluster the - # list is usually empty but it can contain manufacturer specific event - # IDs." - # verification: | - # ./chip-tool powersource read event-list 1 1 - # On TH(chip-tool), Verify that the DUT response provides a list of supported events. This list can be empty or contain following optional event IDs: - # if PS.S.E00(WiredFaultChange) : 0 - # if PS.S.E01(BatFaultChange): 1 - # if PS.S.E02(BatChargeFaultChange): 2 - # Optionally the list can also contain manufacturer specific event IDs. - # [1676465733.563197][27987:27989] CHIP:DMG: } - # [1676465733.563336][27987:27989] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_002F Attribute 0x0000_FFFA DataVersion: 2315782406 - # [1676465733.563366][27987:27989] CHIP:TOO: EventList: 1 entries - # [1676465733.563377][27987:27989] CHIP:TOO: [1]: 1 - # [1676465733.563449][27987:27989] CHIP:EM: <<< [E:56136i S:18318 M:225491668 (Ack:80009006)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - # [1676465733.563464][27987:27989] CHIP:IN: (S) Sending msg 225491668 on secure session with LSID: 18318 - # [1676465733.563514][27987:27989] CHIP:EM: Flushed pending ack for MessageCounter:80009006 on exchange 56136i - # cluster: "LogCommands" - # command: "UserPrompt" - # PICS: PICS_USER_PROMPT - # arguments: - # values: - # - name: "message" - # value: "Please enter 'y' for success" - # - name: "expectedValue" - # value: "y" + + - label: "Step 7a: Read the global attribute: EventList" + PICS: "PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 " + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: "Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList" + PICS: PICS_EVENT_LIST_ENABLED && PS.S.E00 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0] + + - label: "Step 7c: Read PS.S.E01(BatFaultChange) event in EventList" + PICS: PICS_EVENT_LIST_ENABLED && PS.S.E01 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1] + + - label: "Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList" + PICS: PICS_EVENT_LIST_ENABLED && PS.S.E02 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [2] + + #Manufacturer specific event IDs check not possible + - label: + "Step 7e: Read EventList attribute from the DUT.For this cluster the + list is usually empty but it can contain manufacturer specific event + IDs." + verification: | + ./chip-tool powersource read event-list 1 1 + On TH(chip-tool), Verify that the DUT response provides a list of supported events. This list can be empty or contain following optional event IDs: + if PS.S.E00(WiredFaultChange) : 0 + if PS.S.E01(BatFaultChange): 1 + if PS.S.E02(BatChargeFaultChange): 2 + Optionally the list can also contain manufacturer specific event IDs. + [1676465733.563197][27987:27989] CHIP:DMG: } + [1676465733.563336][27987:27989] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_002F Attribute 0x0000_FFFA DataVersion: 2315782406 + [1676465733.563366][27987:27989] CHIP:TOO: EventList: 1 entries + [1676465733.563377][27987:27989] CHIP:TOO: [1]: 1 + [1676465733.563449][27987:27989] CHIP:EM: <<< [E:56136i S:18318 M:225491668 (Ack:80009006)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676465733.563464][27987:27989] CHIP:IN: (S) Sending msg 225491668 on secure session with LSID: 18318 + [1676465733.563514][27987:27989] CHIP:EM: Flushed pending ack for MessageCounter:80009006 on exchange 56136i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_REFALM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_REFALM_1_1.yaml index 6f0cb7de18d797..a13b45da41082a 100644 --- a/src/app/tests/suites/certification/Test_TC_REFALM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_REFALM_1_1.yaml @@ -75,6 +75,19 @@ tests: [1689677267.384931][18335:18337] CHIP:IN: (S) Sending msg 71138788 on secure session with LSID: 49245 disabled: true + - label: "Step 5: TH reads from the DUT the EventList attribute." + verification: | + ./chip-tool refrigeratoralarm read event-list 1 1 + Verify " EventList attribute " consists the list may contain optional events(1) on the TH(Chip-tool) Log: + Below is the sample log provided for the raspi platform: + [1689677416.105596][18367:18369] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0057 Attribute 0x0000_FFFA DataVersion: 1517282962 + [1689677416.105625][18367:18369] CHIP:TOO: EventList: 1 entries + [1689677416.105635][18367:18369] CHIP:TOO: [1]: 0 + [1689677416.105696][18367:18369] CHIP:EM: <<< [E:51484i S:36714 M:192916227 (Ack:1705890)] (S) Msg TX to 1:0000000000000001 [BFDE] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1689677416.105710][18367:18369] CHIP:IN: (S) Sending msg 192916227 on secure session with LSID: 36714 + [1689677416.105737][18367:18369] CHIP:EM: Flushed pending ack for MessageCounter:1705890 on exchange 51484i + disabled: true + - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute." verification: | ./chip-tool refrigeratoralarm read accepted-command-list 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml index caf6487dec2b0a..47c2f78e3c9ad3 100644 --- a/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RH_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -79,25 +89,25 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 - # #Manufacturer specific event IDs check not possible - # - label: - # "Step 7: Read EventList attribute from the DUT.For this cluster the - # list is usually empty but it can contain manufacturer specific event - # IDs." - # verification: | - # ./chip-tool relativehumiditymeasurement read event-list 1 1 - # Verify " EventList " consists the list of supported events, in this cluster in RPI the value is 0 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: - # [1676357956.011759][8095:8097] CHIP:DMG: } - # [1676357956.011914][8095:8097] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0405 Attribute 0x0000_FFFA DataVersion: 3619476420 - # [1676357956.011967][8095:8097] CHIP:TOO: EventList: 0 entries - # cluster: "LogCommands" - # cluster: "LogCommands" - # command: "UserPrompt" - # PICS: PICS_USER_PROMPT - # arguments: - # values: - # - name: "message" - # value: "Please enter 'y' for success" - # - name: "expectedValue" - # value: "y" + + #Manufacturer specific event IDs check not possible + - label: + "Step 7: Read EventList attribute from the DUT.For this cluster the + list is usually empty but it can contain manufacturer specific event + IDs." + verification: | + ./chip-tool relativehumiditymeasurement read event-list 1 1 + + Verify " EventList " consists the list of supported events, in this cluster in RPI the value is 0 on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + [1676357956.011759][8095:8097] CHIP:DMG: } + [1676357956.011914][8095:8097] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0405 Attribute 0x0000_FFFA DataVersion: 3619476420 + [1676357956.011967][8095:8097] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml index bd84ddbb159d63..34fc1cd767ad2d 100644 --- a/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RNCONC_1_1.yaml @@ -187,6 +187,16 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -351,15 +361,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + command: "readAttribute" + attribute: "EventList" + PICS: PICS_EVENT_LIST_ENABLED + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool radonconcentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685965965.418394][11855:11857] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042F Attribute 0x0000_FFFA DataVersion: 3741862926 + [1685965965.418498][11855:11857] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml index b169e83a892f36..b2944016faeebc 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCCLEANM_1_1.yaml @@ -60,6 +60,16 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -142,15 +152,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Read the global attribute: EventList from the DUT" - # PICS: PICS_EVENT_LIST_ENABLED && RVCCLEANM.S.Afffa - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: Read the global attribute: EventList from the DUT. 1.The + list SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvccleanmode 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: + + [1690182289.222668][14980:14982] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0055 Attribute 0x0000_FFFA DataVersion: 3145953005 + [1690182289.222680][14980:14982] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute AcceptedCommandList. Check if it diff --git a/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml index 92e454e33d3610..7ef88673b129ff 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml @@ -48,6 +48,17 @@ tests: type: bitmap32 - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [0, 1, 3, 4, 5, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -66,26 +77,62 @@ tests: type: list contains: [2] - #EventList disabled for 1.2 - # - label: "Step 5a: TH reads from the DUT the EventList attribute." - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x00] - - # - label: - # "Step 5b: TH reads from the DUT the optional - # event(OperationCompletion) in EventList." - # PICS: PICS_EVENT_LIST_ENABLED && RVCOPSTATE.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0x01] + - label: "Step 5a: TH reads from the DUT the EventList attribute." + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x00] + + - label: + "Step 5b: TH reads from the DUT the optional + event(OperationCompletion) in EventList." + PICS: PICS_EVENT_LIST_ENABLED && RVCOPSTATE.S.E01 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0x01] + + - label: + "Step 5c: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvcoperationalstate read event-list 1 1 + + Verify " EventList attribute " value consists the list of mandatory event (0) and it may include the optional events (1) on the TH(Chip-tool) Log: + Below is the sample log provided for the raspi platform: + [1690201497.386141][14975:14977] CHIP:DMG: InteractionModelRevision = 1 + [1690201497.386195][14975:14977] CHIP:DMG: } + [1690201497.386630][14975:14977] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0061 Attribute 0x0000_FFFA DataVersion: 3675566847 + [1690201497.386776][14975:14977] CHIP:TOO: EventList: 2 entries + [1690201497.386846][14975:14977] CHIP:TOO: [1]: 0 + [1690201497.386907][14975:14977] CHIP:TOO: [2]: 1 + [1690201497.387222][14975:14977] CHIP:EM: <<< [E:56916i S:1295 M:30022149 (Ack:183426353)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1690201497.387319][14975:14977] CHIP:IN: (S) Sending msg 30022149 on secure session with LSID: 1295 + [1690201497.387559][14975:14977] CHIP:EM: Flushed pending ack for MessageCounter:183426353 on exchange 56916i + [1690201497.387972][14975:14975] CHIP:CTL: Shutting down the commissioner + [1690201497.388046][14975:14975] CHIP:CTL: Stopping commissioning discovery over DNS-SD + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the optional command(Pause) in AcceptedCommandList" PICS: RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml index 7eb08eca3ba4f8..376e2b661b6f83 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCRUNM_1_1.yaml @@ -60,6 +60,16 @@ tests: hasMasksSet: [0x1] - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: TH reads the AttributeList attribute from the DUT" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -142,15 +152,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Read the global attribute: EventList from the DUT" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList from the DUT" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool rvcrunmode 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: + + [1690177367.986733][6269:6271] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0054 Attribute 0x0000_FFFA DataVersion: 551764487 + [1690177367.986879][6269:6271] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute AcceptedCommandList. Check if it diff --git a/src/app/tests/suites/certification/Test_TC_SMOKECO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_SMOKECO_1_1.yaml index 7e46d16d49d606..c9762f148a7dc1 100644 --- a/src/app/tests/suites/certification/Test_TC_SMOKECO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_SMOKECO_1_1.yaml @@ -164,71 +164,70 @@ tests: type: list contains: [12] - #EventList disabled for 1.2 - # - label: "TH reads from the DUT the EventList attribute" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [2, 3, 4, 5, 10] + - label: "TH reads from the DUT the EventList attribute" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [2, 3, 4, 5, 10] - # - label: "TH reads from the DUT the EventList attribute(SmokeAlarm)" - # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0] + - label: "TH reads from the DUT the EventList attribute(SmokeAlarm)" + PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E00 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0] - # - label: "TH reads from the DUT the EventList attribute(COAlarm)" - # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E01 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1] + - label: "TH reads from the DUT the EventList attribute(COAlarm)" + PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E01 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1] - # - label: "TH reads from the DUT the EventList attribute(AlarmMuted)" - # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E06 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [6] + - label: "TH reads from the DUT the EventList attribute(AlarmMuted)" + PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E06 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [6] - # - label: "TH reads from the DUT the EventList attribute(MuteEnded)" - # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E07 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [7] + - label: "TH reads from the DUT the EventList attribute(MuteEnded)" + PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E07 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [7] - # - label: - # "TH reads from the DUT the EventList attribute(InterconnectSmokeAlarm)" - # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E08 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [8] + - label: + "TH reads from the DUT the EventList attribute(InterconnectSmokeAlarm)" + PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E08 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [8] - # - label: - # "TH reads from the DUT the EventList attribute(InterconnectCOAlarm)" - # PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E09 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [9] + - label: + "TH reads from the DUT the EventList attribute(InterconnectCOAlarm)" + PICS: PICS_EVENT_LIST_ENABLED && SMOKECO.S.E09 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [9] - label: "TH reads from the DUT the AcceptedCommandList attribute" PICS: "!SMOKECO.S.C00.Rsp" 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 6c5fefbd931878..5213f66e66dc3a 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 @@ -122,7 +122,16 @@ tests: contains: [2] - label: "Step 4b: Read the global attribute: AttributeList" - PICS: "!SWTCH.S.F04" + PICS: "PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04" + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4b: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04" command: "readAttribute" attribute: "AttributeList" response: @@ -130,87 +139,86 @@ tests: type: list contains: [0, 1, 65528, 65529, 65531, 65532, 65533] - #EventList disabled for 1.2 - # - label: "Step 5a: Read the global attribute: EventList " - # PICS: - # "!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && - # !SWTCH.S.F04 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list - - # - label: "Step 5b: Read EventList if SWTCH.S.F00(LS)" - # PICS: PICS_EVENT_LIST_ENABLED && SWTCH.S.F00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [0] - - # - label: "Step 5c: Read 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" - # response: - # constraints: - # type: list - # contains: [1] - - # - label: - # "Step 5d: Read 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 && !SWTCH.S.F04 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1, 3] - - # - label: - # "Step 5e: Read 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 - # && !SWTCH.S.F04 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1, 2, 3, 4] - - # - label: - # "Step 5f: Read 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 && SWTCH.S.F04 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1, 3, 5, 6] - - # - label: - # "Step 5g: Read 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 - # && SWTCH.S.F04 " - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [1, 2, 3, 4, 5, 6] + - label: "Step 5a: Read the global attribute: EventList " + PICS: + "!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && + !SWTCH.S.F04 " + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list + + - label: "Step 5b: Read EventList if SWTCH.S.F00(LS)" + PICS: PICS_EVENT_LIST_ENABLED && SWTCH.S.F00 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [0] + + - label: "Step 5c: Read 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" + response: + constraints: + type: list + contains: [1] + + - label: + "Step 5d: Read 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 && !SWTCH.S.F04 " + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1, 3] + + - label: + "Step 5e: Read 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 + && !SWTCH.S.F04 " + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1, 2, 3, 4] + + - label: + "Step 5f: Read 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 && SWTCH.S.F04 " + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1, 3, 5, 6] + + - label: + "Step 5g: Read 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 + && SWTCH.S.F04 " + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [1, 2, 3, 4, 5, 6] - label: "Step 6: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_S_1_1.yaml b/src/app/tests/suites/certification/Test_TC_S_1_1.yaml index 9a285b46375999..bd0ae223813eb3 100644 --- a/src/app/tests/suites/certification/Test_TC_S_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_S_1_1.yaml @@ -62,7 +62,34 @@ tests: - label: "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is true" - PICS: S.S.A0005 + PICS: S.S.A0005 && PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [ + 0, + 1, + 2, + 3, + 4, + 5, + 6, + 7, + 65528, + 65529, + 65530, + 65531, + 65532, + 65533, + ] + + - label: + "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is + true" + PICS: S.S.A0005 && !PICS_EVENT_LIST_ENABLED command: "readAttribute" attribute: "AttributeList" response: @@ -74,7 +101,33 @@ tests: - label: "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is false" - PICS: " !S.S.A0005 " + PICS: " !S.S.A0005 && PICS_EVENT_LIST_ENABLED" + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [ + 0, + 1, + 2, + 3, + 4, + 6, + 7, + 65528, + 65529, + 65530, + 65531, + 65532, + 65533, + ] + + - label: + "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is + false" + PICS: " !S.S.A0005 && !PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -82,15 +135,42 @@ tests: type: list contains: [0, 1, 2, 3, 4, 6, 7, 65528, 65529, 65531, 65532, 65533] - #EventList disabled for 1.2 - # - label: "Step 5: Read EventList (global attribute 65530)" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # type: list - # contains: [] + - label: "Step 5a: Read EventList (global attribute 65530)" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + type: list + contains: [] + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool scenes read event-list 1 1 + + Verify the "EventList" value on the TH (Chip-tool) and below is the sample log provided for the raspi platform: + + [1685124260776] [40519:400294] [TOO] Endpoint: 1 Cluster: 0x0000_0005 Attribute 0x0000_FFFA DataVersion: 2585861686 + [1685124260776] [40519:400294] [TOO] EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read AcceptedCommandList (global attribute 65529)" PICS: S.S.C40.Rsp diff --git a/src/app/tests/suites/certification/Test_TC_TCCM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TCCM_1_1.yaml index 3f25a00c50ed40..ea76d9b267cd75 100644 --- a/src/app/tests/suites/certification/Test_TC_TCCM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TCCM_1_1.yaml @@ -71,6 +71,14 @@ tests: [1690189598.832210][16140:16142] CHIP:TOO: [10]: 65533 disabled: true + - label: "Step 5: TH reads from the DUT the EventList attribute." + verification: | + ./chip-tool refrigeratorandtemperaturecontrolledcabinetmode 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: + [1690189614.840538][16147:16149] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0052 Attribute 0x0000_FFFA DataVersion: 473867547 + [1690189614.840589][16147:16149] CHIP:TOO: EventList: 0 entries + disabled: true + - label: "Step 6: TH reads from the DUT the AcceptedCommandList attribute." verification: | ./chip-tool refrigeratorandtemperaturecontrolledcabinetmode read accepted-command-list 1 1 diff --git a/src/app/tests/suites/certification/Test_TC_TCTL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TCTL_1_1.yaml index a625b1c0b2c134..b86b24051b7926 100644 --- a/src/app/tests/suites/certification/Test_TC_TCTL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TCTL_1_1.yaml @@ -113,3 +113,18 @@ tests: [1689770475.939872][9215:9217] CHIP:IN: (S) Sending msg 36313621 on secure session with LSID: 30992 [1689770475.939880][9215:9217] CHIP:EM: Flushed pending ack for MessageCounter:205412119 on exchange 56043i disabled: true + + - label: "Step 7: TH reads from the DUT the EventList attribute." + verification: | + ./chip-tool temperaturecontrol read event-list 1 1 + Verify " EventList attribute " consists the list of supported events, which for this cluster should be an empty list on the TH(Chip-tool) Log and below is the sample log provided for the raspi platform: + [1689770528.788582][9233:9235] CHIP:DMG: InteractionModelRevision = 1 + [1689770528.788587][9233:9235] CHIP:DMG: } + [1689770528.788671][9233:9235] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0056 Attribute 0x0000_FFFA DataVersion: 2844459846 + [1689770528.788703][9233:9235] CHIP:TOO: EventList: 0 entries + [1689770528.788768][9233:9235] CHIP:EM: <<< [E:60387i S:1870 M:236365893 (Ack:64478273)] (S) Msg TX to 1:0000000000000001 [9CA1] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1689770528.788782][9233:9235] CHIP:IN: (S) Sending msg 236365893 on secure session with LSID: 1870 + [1689770528.788826][9233:9235] CHIP:EM: Flushed pending ack for MessageCounter:64478273 on exchange 60387i + [1689770528.788927][9233:9233] CHIP:CTL: Shutting down the commissioner + [1689770528.788948][9233:9233] CHIP:CTL: Stopping commissioning discovery over DNS-SD + disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml b/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml index f54803938cba6a..636477d18707dd 100644 --- a/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml +++ b/src/app/tests/suites/certification/Test_TC_TGTNAV_1_9.yaml @@ -50,6 +50,16 @@ tests: type: bitmap32 - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -82,11 +92,12 @@ tests: constraints: type: list contains: [1] - #EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_TIMESYNC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TIMESYNC_1_1.yaml index aace42f3765400..57b5be93ad9170 100644 --- a/src/app/tests/suites/certification/Test_TC_TIMESYNC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TIMESYNC_1_1.yaml @@ -139,6 +139,25 @@ tests: ########################## # Mandatory entries - label: "TS4: Check for mandatory attributes in AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + contains: + [ + 0x0000, + 0x0001, + 0xFFF8, + 0xFFF9, + 0xFFFA, + 0xFFFB, + 0xFFFC, + 0xFFFD, + ] + + - label: "TS4: Check for mandatory attributes in AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -283,54 +302,98 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 # Note - additional exclusions not handled here ########################## # TS 5: Event list - NOTE: disabled ########################## # mandatory - # - label: "TS5: Check for mandatory events in EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # contains: [0x03] + - label: "TS5: Check for mandatory events in EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + constraints: + contains: [0x03] - # Feature TZ - # - label: "TS5: Check for TZ feature-based events in EventList" - # PICS: PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F00 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # contains: [0x00, 0x01, 0x02] - - # - label: "TS5: Check for TZ feature-based events not in EventList" - # PICS: "PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F00" - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # excludes: [0x00, 0x01, 0x02] + #Feature TZ + - label: "TS5: Check for TZ feature-based events in EventList" + PICS: PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F00 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + contains: [0x00, 0x01, 0x02] - # Feature TSC - # - label: "TS5: Check for TSC feature-based events in EventList" - # PICS: PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F03 - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # contains: [0x04] - - # - label: "TS5: Check for TSC feature-based events not in EventList" - # PICS: "PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F03" - # command: "readAttribute" - # attribute: "EventList" - # response: - # constraints: - # excludes: [0x04] + - label: "TS5: Check for TZ feature-based events not in EventList" + PICS: "PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F00" + command: "readAttribute" + attribute: "EventList" + response: + constraints: + excludes: [0x00, 0x01, 0x02] + + #Feature TSC + - label: "TS5: Check for TSC feature-based events in EventList" + PICS: PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F03 + command: "readAttribute" + attribute: "EventList" + response: + constraints: + contains: [0x04] + + - label: "TS5: Check for TSC feature-based events not in EventList" + PICS: "PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F03" + command: "readAttribute" + attribute: "EventList" + response: + constraints: + excludes: [0x04] + + - label: + "TS5: TH reads from the DUT the EventList attribute. 1.The list SHALL + NOT contain any additional values in the standard or scoped range: + (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The + list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool timesynchronization read event-list 1 0 + + Via the TH (chip-tool), verify: + The list SHALL include all the mandatory entries: 0x03 + The list include entries based on feature support: + 0x00 SHALL be included if and only if TIMESYNC.S.F00(TZ) + 0x01 SHALL be included if and only if TIMESYNC.S.F00(TZ) + 0x02 SHALL be included if and only if TIMESYNC.S.F00(TZ) + 0x04 SHALL be included if and only if TIMESYNC.S.F03(TSC) + + Below is the example value which is observed in the RPI platform the value may be differ based on the dut implementation. + + [1688648817.829533][149513:149515] CHIP:DMG: } + [1688648817.829584][149513:149515] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0038 Attribute 0x0000_FFFA DataVersion: 1776331179 + [1688648817.829600][149513:149515] CHIP:TOO: EventList: 5 entries + [1688648817.829606][149513:149515] CHIP:TOO: [1]: 0 + [1688648817.829607][149513:149515] CHIP:TOO: [2]: 1 + [1688648817.829609][149513:149515] CHIP:TOO: [3]: 2 + [1688648817.829610][149513:149515] CHIP:TOO: [4]: 3 + [1688648817.829612][149513:149515] CHIP:TOO: [5]: 4 + [1688648817.829644][149513:149515] CHIP:EM: <<< [E:37598i S:15729 M:18516326 (Ack:233541454)] (S) Msg TX to 1:0000000000000001 [3784] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1688648817.829648][149513:149515] CHIP:IN: (S) Sending msg 18516326 on secure session with LSID: 15729 + [1688648817.829657][149513:149515] CHIP:EM: Flushed pending ack for MessageCounter:233541454 on exchange 37598i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" # Note - additional exclusions not handled here diff --git a/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml index 01f7ce625a9e19..52792256be90dc 100644 --- a/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TMP_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -79,26 +89,27 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 - # #Manufacturer specific event IDs check not possible - # - label: - # "Step 7: Read EventList attribute from the DUT.For this cluster the - # list is usually empty but it can contain manufacturer specific event - # IDs." - # verification: | - # ./chip-tool temperaturemeasurement read event-list 1 1 - # On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. - # [1676466045.154072][28094:28096] CHIP:DMG: } - # [1676466045.154196][28094:28096] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_FFFA DataVersion: 3399649825 - # [1676466045.154248][28094:28096] CHIP:TOO: EventList: 0 entries - # [1676466045.154309][28094:28096] CHIP:EM: <<< [E:12674i S:5317 M:190747810 (Ack:263910212)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - # [1676466045.154323][28094:28096] CHIP:IN: (S) Sending msg 190747810 on secure session with LSID: 5317 - # cluster: "LogCommands" - # command: "UserPrompt" - # PICS: PICS_USER_PROMPT - # arguments: - # values: - # - name: "message" - # value: "Please enter 'y' for success" - # - name: "expectedValue" - # value: "y" + + #Manufacturer specific event IDs check not possible + - label: + "Step 7: Read EventList attribute from the DUT.For this cluster the + list is usually empty but it can contain manufacturer specific event + IDs." + verification: | + ./chip-tool temperaturemeasurement read event-list 1 1 + + On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. + [1676466045.154072][28094:28096] CHIP:DMG: } + [1676466045.154196][28094:28096] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0402 Attribute 0x0000_FFFA DataVersion: 3399649825 + [1676466045.154248][28094:28096] CHIP:TOO: EventList: 0 entries + [1676466045.154309][28094:28096] CHIP:EM: <<< [E:12674i S:5317 M:190747810 (Ack:263910212)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676466045.154323][28094:28096] CHIP:IN: (S) Sending msg 190747810 on secure session with LSID: 5317 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml index f1652592b0431d..cefd166e28065b 100644 --- a/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSTAT_1_1.yaml @@ -142,6 +142,16 @@ tests: hasMasksSet: [0x40] - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 27, 28, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -607,26 +617,27 @@ tests: constraints: type: list contains: [1] - #EVentList disabled for 1.2 - # #Manufacturer specific event IDs check not possible - # - label: - # "Step 7: Read EventList attribute from the DUT.For this cluster the - # list is usually empty but it can contain manufacturer specific event - # IDs." - # verification: | - # ./chip-tool thermostat read event-list 1 1 - # On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. - # [1676466998.893033][29061:29063] CHIP:DMG: } - # [1676466998.893114][29061:29063] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_FFFA DataVersion: 2603128677 - # [1676466998.893155][29061:29063] CHIP:TOO: EventList: 0 entries - # [1676466998.893209][29061:29063] CHIP:EM: <<< [E:35662i S:59401 M:190799889 (Ack:191492950)] (S) Msg TX to 1:0000000000000001 [3F11] --- Type 0000:10 (SecureChannel:StandaloneAck) - # [1676466998.893221][29061:29063] CHIP:IN: (S) Sending msg 190799889 on secure session with LSID: 59401 - # cluster: "LogCommands" - # command: "UserPrompt" - # PICS: PICS_USER_PROMPT - # arguments: - # values: - # - name: "message" - # value: "Please enter 'y' for success" - # - name: "expectedValue" - # value: "y" + + #Manufacturer specific event IDs check not possible + - label: + "Step 7: Read EventList attribute from the DUT.For this cluster the + list is usually empty but it can contain manufacturer specific event + IDs." + verification: | + ./chip-tool thermostat read event-list 1 1 + + On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. + [1676466998.893033][29061:29063] CHIP:DMG: } + [1676466998.893114][29061:29063] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0201 Attribute 0x0000_FFFA DataVersion: 2603128677 + [1676466998.893155][29061:29063] CHIP:TOO: EventList: 0 entries + [1676466998.893209][29061:29063] CHIP:EM: <<< [E:35662i S:59401 M:190799889 (Ack:191492950)] (S) Msg TX to 1:0000000000000001 [3F11] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676466998.893221][29061:29063] CHIP:IN: (S) Sending msg 190799889 on secure session with LSID: 59401 + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml index 09b1002c230edf..5880ab6abd29d4 100644 --- a/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TSUIC_1_1.yaml @@ -47,7 +47,17 @@ tests: constraints: type: bitmap32 - - label: "Step 4a: Read the global attribute: AttributeList" + - label: "Step 4: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 1, 2, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -173,26 +183,27 @@ tests: value: "Please enter 'y' for success" - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # #Manufacturer specific event IDs check not possible - # - label: - # "Step 7: Read EventList attribute from the DUT.For this cluster the - # list is usually empty but it can contain manufacturer specific event - # IDs." - # verification: | - # ./chip-tool thermostatuserinterfaceconfiguration read event-list 1 1 - # On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. - # [1676466144.926927][28127:28129] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFFA DataVersion: 317726044 - # [1676466144.926964][28127:28129] CHIP:TOO: EventList: 0 entries - # [1676466144.927021][28127:28129] CHIP:EM: <<< [E:22756i S:22644 M:99305003 (Ack:156666885)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) - # [1676466144.927035][28127:28129] CHIP:IN: (S) Sending msg 99305003 on secure session with LSID: 22644 - # [1676466144.927067][28127:28129] CHIP:EM: Flushed pending ack for MessageCounter:156666885 on exchange 22756i - # cluster: "LogCommands" - # command: "UserPrompt" - # PICS: PICS_USER_PROMPT - # arguments: - # values: - # - name: "message" - # value: "Please enter 'y' for success" - # - name: "expectedValue" - # value: "y" + + #Manufacturer specific event IDs check not possible + - label: + "Step 7: Read EventList attribute from the DUT.For this cluster the + list is usually empty but it can contain manufacturer specific event + IDs." + verification: | + ./chip-tool thermostatuserinterfaceconfiguration read event-list 1 1 + + On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. + [1676466144.926927][28127:28129] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0204 Attribute 0x0000_FFFA DataVersion: 317726044 + [1676466144.926964][28127:28129] CHIP:TOO: EventList: 0 entries + [1676466144.927021][28127:28129] CHIP:EM: <<< [E:22756i S:22644 M:99305003 (Ack:156666885)] (S) Msg TX to 1:0000000000000001 [110F] --- Type 0000:10 (SecureChannel:StandaloneAck) + [1676466144.927035][28127:28129] CHIP:IN: (S) Sending msg 99305003 on secure session with LSID: 22644 + [1676466144.927067][28127:28129] CHIP:EM: Flushed pending ack for MessageCounter:156666885 on exchange 22756i + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" diff --git a/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml index 5cf1f5cd65d58f..ff5ef4e560d878 100644 --- a/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_TVOCCONC_1_1.yaml @@ -187,6 +187,16 @@ tests: - label: "Step 4a: Read the global attribute: AttributeList" command: "readAttribute" attribute: "AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + response: + constraints: + type: list + contains: [9, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + command: "readAttribute" + attribute: "AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" response: constraints: type: list @@ -351,15 +361,42 @@ tests: - name: "expectedValue" value: "y" - #EventList disabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5a: Read the global attribute: EventList" + command: "readAttribute" + attribute: "EventList" + PICS: PICS_EVENT_LIST_ENABLED + response: + value: [] + constraints: + type: list + + - label: + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list + SHALL NOT contain any additional values in the standard or scoped + range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. + The list MAY contain values in the Manufacturer Extensible Identifier + (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed + MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The + list SHALL NOT contain any values in the Test Vendor or invalid range: + (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - + 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the + allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool totalvolatileorganiccompoundsconcentrationmeasurement read event-list 1 1 + + Via the TH (chip-tool), verify that the EventList attribute. Below mentioned log is based on the RPI implementation, Value may vary on real DUT + + [1685965965.418394][11855:11857] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_042E Attribute 0x0000_FFFA DataVersion: 1180043964 + [1685965965.418498][11855:11857] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" - label: "Step 6a: Read the global attribute: AcceptedCommandList" command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_ULABEL_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ULABEL_1_1.yaml index e62a2a8c116038..17970de7312fdb 100644 --- a/src/app/tests/suites/certification/Test_TC_ULABEL_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ULABEL_1_1.yaml @@ -48,6 +48,16 @@ tests: type: bitmap32 - label: "Step 4a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [0, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: "Step 4a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -92,6 +102,31 @@ tests: - name: "expectedValue" value: "y" + - label: + "Step 5: Read the global attribute: EventList. 1.The list MAY contain + values in the Manufacturer Extensible Identifier (MEI) range: + (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range + (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT + contain any values in the Test Vendor or invalid range: (0x0000_0100 - + 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - + 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" + verification: | + ./chip-tool userlabel read event-list 1 0 + + Verify "EventList" contains a list of supported events, for this cluster the list SHALL be empty(0 entries) on the TH(Chip-tool) Log: + 1676373264.278073][11583:11585] CHIP:DMG: } + [1676373264.278133][11583:11585] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0041 Attribute 0x0000_FFFA DataVersion: 916074662 + [1676373264.278155][11583:11585] CHIP:TOO: EventList: 0 entries + cluster: "LogCommands" + command: "UserPrompt" + PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED + arguments: + values: + - name: "message" + value: "Please enter 'y' for success" + - name: "expectedValue" + value: "y" + - label: "Step 6: Read the global attribute: AcceptedCommandList. 1.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) diff --git a/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml b/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml index 3c78e77855be96..6f7a235bf0922b 100644 --- a/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml +++ b/src/app/tests/suites/certification/Test_TC_WAKEONLAN_1_5.yaml @@ -50,6 +50,16 @@ tests: type: bitmap32 - label: "Step 3a: Read the global attribute: AttributeList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: [65528, 65529, 65530, 65531, 65531, 65533] + + - label: "Step 3a: Read the global attribute: AttributeList" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -81,12 +91,12 @@ tests: value: [] constraints: type: list - #EventList disabled for 1.2 - # - label: "Step 6: Read the global attribute: EventList" - # PICS: PICS_EVENT_LIST_ENABLED - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + + - label: "Step 6: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list diff --git a/src/app/tests/suites/certification/Test_TC_WNCV_1_1.yaml b/src/app/tests/suites/certification/Test_TC_WNCV_1_1.yaml index 93eb03d9046175..b8417fe63a2046 100644 --- a/src/app/tests/suites/certification/Test_TC_WNCV_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_WNCV_1_1.yaml @@ -112,6 +112,18 @@ tests: - label: "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "AttributeList" + response: + constraints: + type: list + contains: + [0, 7, 10, 13, 23, 65528, 65529, 65530, 65531, 65532, 65533] + + - label: + "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute" + PICS: "!PICS_EVENT_LIST_ENABLED" command: "readAttribute" attribute: "AttributeList" response: @@ -173,14 +185,14 @@ tests: type: list contains: [12, 15] - #EventList diabled for 1.2 - # - label: "Step 5: Read the global attribute: EventList" - # command: "readAttribute" - # attribute: "EventList" - # response: - # value: [] - # constraints: - # type: list + - label: "Step 5: Read the global attribute: EventList" + PICS: PICS_EVENT_LIST_ENABLED + command: "readAttribute" + attribute: "EventList" + response: + value: [] + constraints: + type: list - label: "Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList diff --git a/src/app/tests/suites/certification/ci-pics-values b/src/app/tests/suites/certification/ci-pics-values index 4c8ed132fdc008..6025a953f089ca 100644 --- a/src/app/tests/suites/certification/ci-pics-values +++ b/src/app/tests/suites/certification/ci-pics-values @@ -2210,7 +2210,7 @@ ACFREMON.S.A0002=1 ACFREMON.S.A0003=1 ACFREMON.S.A0004=1 ACFREMON.S.A0005=1 -ACFREMON.S.C00.Rsp=0 +ACFREMON.S.C00.Rsp=1 # Air Quality AIRQUAL.C=0 diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 1efa4f4a5c0d9b..006eb5fee51aa4 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -2217,7 +2217,7 @@ class TestAccessControlClusterSuite : public TestCommand class Test_TC_ACL_1_1Suite : public TestCommand { public: - Test_TC_ACL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACL_1_1", 8, credsIssuerConfig) + Test_TC_ACL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACL_1_1", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -2284,6 +2284,7 @@ class Test_TC_ACL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -2295,18 +2296,49 @@ class Test_TC_ACL_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -2344,17 +2376,24 @@ class Test_TC_ACL_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads AttributeList attribute from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: TH reads optional attribute (Extension) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: TH reads AttributeList attribute from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, + LogStep(5, "Step 4b: TH reads optional attribute (Extension) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -2369,8 +2408,30 @@ class Test_TC_ACL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, + case 7: { + LogStep(7, "Step 5a: TH reads EventList attribute from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), AccessControl::Id, AccessControl::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, + "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 9: { + LogStep(9, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1. The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -2384,8 +2445,8 @@ class Test_TC_ACL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, + case 10: { + LogStep(10, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -10097,7 +10158,7 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand { public: Test_TC_AIRQUAL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_AIRQUAL_1_1", 13, credsIssuerConfig) + TestCommand("Test_TC_AIRQUAL_1_1", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -10197,6 +10258,7 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -10204,9 +10266,39 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -10214,11 +10306,11 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 11: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -10230,7 +10322,7 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 12: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -10294,12 +10386,19 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand } case 7: { LogStep(7, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { + LogStep(8, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 9: { LogStep( - 8, + 9, "Step 4b: TH reads from the DUT the AttributeList attribute. 1.The list SHALL NOT contain any additional values in " "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -10314,14 +10413,36 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 6:a Read the global attribute: AcceptedCommandList"); + case 10: { + LogStep(10, "Step 5a: TH reads EventList attribute from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 11: { + LogStep(11, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 12: { + LogStep(12, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { + case 13: { LogStep( - 10, + 13, "Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT contain any additional " "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " @@ -10336,14 +10457,14 @@ class Test_TC_AIRQUAL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { - LogStep(11, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 14: { + LogStep(14, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AirQuality::Id, AirQuality::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 12: { + case 15: { LogStep( - 12, + 15, "Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT contain any additional " "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " @@ -10450,7 +10571,7 @@ class Test_TC_AIRQUAL_2_1Suite : public TestCommand class Test_TC_BOOL_1_1Suite : public TestCommand { public: - Test_TC_BOOL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_1_1", 6, credsIssuerConfig) + Test_TC_BOOL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -10514,12 +10635,27 @@ class Test_TC_BOOL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -10531,7 +10667,7 @@ class Test_TC_BOOL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 5: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -10543,104 +10679,149 @@ class Test_TC_BOOL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - default: - LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); - } - - if (shouldContinue) - { - ContinueOnChipMainThread(CHIP_NO_ERROR); - } - } - - CHIP_ERROR DoTestStep(uint16_t testIndex) override - { - using namespace chip::app::Clusters; - switch (testIndex) - { - case 0: { - LogStep(0, "Step 1: Wait for the commissioned device to be retrieved"); - ListFreer listFreer; - chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; - value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; - return WaitForCommissionee(kIdentityAlpha, value); - } - case 1: { - LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::ClusterRevision::Id, - true, chip::NullOptional); - } - case 2: { - LogStep(2, "Step 3: Read the global attribute: FeatureMap"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::FeatureMap::Id, true, - chip::NullOptional); - } - case 3: { - LogStep(3, "Step 4: Read the global attribute: AttributeList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::AttributeList::Id, - true, chip::NullOptional); - } - case 4: { - LogStep(4, "Step 5: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, - BooleanState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); - } - case 5: { - LogStep(5, "Step 6: Read the global attribute: GeneratedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, - BooleanState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); - } - } - return CHIP_NO_ERROR; - } -}; - -class Test_TC_BOOL_2_1Suite : public TestCommand -{ -public: - Test_TC_BOOL_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_2_1", 2, credsIssuerConfig) - { - AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); - AddArgument("cluster", &mCluster); - AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); - AddArgument("timeout", 0, UINT16_MAX, &mTimeout); - } - - ~Test_TC_BOOL_2_1Suite() {} - - chip::System::Clock::Timeout GetWaitDuration() const override - { - return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); - } - -private: - chip::Optional mNodeId; - chip::Optional mCluster; - chip::Optional mEndpoint; - chip::Optional mTimeout; - - chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } - - // - // Tests methods - // - - void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override - { - bool shouldContinue = false; - - switch (mTestIndex - 1) - { - case 0: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNextListItemDecodes("eventList", iter_0, 0)); + VerifyOrReturn(CheckValue("eventList[0]", iter_0.GetValue(), 0UL)); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 1)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } break; - case 1: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - bool value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintType("value", "boolean", "boolean")); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + default: + LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); + } + + if (shouldContinue) + { + ContinueOnChipMainThread(CHIP_NO_ERROR); + } + } + + CHIP_ERROR DoTestStep(uint16_t testIndex) override + { + using namespace chip::app::Clusters; + switch (testIndex) + { + case 0: { + LogStep(0, "Step 1: Wait for the commissioned device to be retrieved"); + ListFreer listFreer; + chip::app::Clusters::DelayCommands::Commands::WaitForCommissionee::Type value; + value.nodeId = mNodeId.HasValue() ? mNodeId.Value() : 305414945ULL; + return WaitForCommissionee(kIdentityAlpha, value); + } + case 1: { + LogStep(1, "Step 2: Read the global attribute: ClusterRevision"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::ClusterRevision::Id, + true, chip::NullOptional); + } + case 2: { + LogStep(2, "Step 3: Read the global attribute: FeatureMap"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::FeatureMap::Id, true, + chip::NullOptional); + } + case 3: { + LogStep(3, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 4: { + LogStep(4, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 5: { + LogStep(5, "Step 5: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, + BooleanState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 6: Read the global attribute: GeneratedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, + BooleanState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 7: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("BOOL.S.E00 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Step 7: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip(" !BOOL.S.E00 && PICS_EVENT_LIST_ENABLED "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), BooleanState::Id, BooleanState::Attributes::EventList::Id, true, + chip::NullOptional); + } + } + return CHIP_NO_ERROR; + } +}; + +class Test_TC_BOOL_2_1Suite : public TestCommand +{ +public: + Test_TC_BOOL_2_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BOOL_2_1", 2, credsIssuerConfig) + { + AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); + AddArgument("cluster", &mCluster); + AddArgument("endpoint", 0, UINT16_MAX, &mEndpoint); + AddArgument("timeout", 0, UINT16_MAX, &mTimeout); + } + + ~Test_TC_BOOL_2_1Suite() {} + + chip::System::Clock::Timeout GetWaitDuration() const override + { + return chip::System::Clock::Seconds16(mTimeout.ValueOr(kTimeoutInSeconds)); + } + +private: + chip::Optional mNodeId; + chip::Optional mCluster; + chip::Optional mEndpoint; + chip::Optional mTimeout; + + chip::EndpointId GetEndpoint(chip::EndpointId endpoint) { return mEndpoint.HasValue() ? mEndpoint.Value() : endpoint; } + + // + // Tests methods + // + + void OnResponse(const chip::app::StatusIB & status, chip::TLV::TLVReader * data) override + { + bool shouldContinue = false; + + switch (mTestIndex - 1) + { + case 0: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 1: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + bool value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "boolean", "boolean")); } break; default: @@ -10680,7 +10861,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand { public: Test_TC_BRBINFO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_BRBINFO_1_1", 23, credsIssuerConfig) + TestCommand("Test_TC_BRBINFO_1_1", 28, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -10739,6 +10920,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -10750,7 +10932,12 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: @@ -10759,7 +10946,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 6: @@ -10768,7 +10955,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 7: @@ -10777,7 +10964,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 8: @@ -10786,7 +10973,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 9: @@ -10795,7 +10982,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 10: @@ -10804,7 +10991,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; case 11: @@ -10813,7 +11000,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; case 12: @@ -10822,7 +11009,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; case 13: @@ -10831,7 +11018,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; case 14: @@ -10840,7 +11027,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; case 15: @@ -10849,7 +11036,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); } break; case 16: @@ -10858,7 +11045,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); } break; case 17: @@ -10867,14 +11054,54 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); } break; case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + } break; case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 23: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -10886,11 +11113,11 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 20: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 21: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -10902,7 +11129,7 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 22: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -10945,95 +11172,102 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: TH reads optional attribute(VendorName) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip(" !PICS_EVENT_LIST_ENABLED "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4c: TH reads optional attribute(VendorID) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: TH reads optional attribute(VendorName) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4d: TH reads optional attribute(ProductName) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4c: TH reads optional attribute(VendorID) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4e: TH reads optional attribute(NodeLabel) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4d: TH reads optional attribute(ProductName) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4f: TH reads optional attribute(HardwareVersion) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4e: TH reads optional attribute(NodeLabel) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4g: TH reads optional attribute(HardwareVersionString) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4f: TH reads optional attribute(HardwareVersion) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4h: TH reads optional attribute(SoftwareVersion) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4g: TH reads optional attribute(HardwareVersionString) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4i: TH reads optional attribute(SoftwareVersionString) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4h: TH reads optional attribute(SoftwareVersion) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4j: TH reads optional attribute(ManufacturingDate) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4i: TH reads optional attribute(SoftwareVersionString) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4k: TH reads optional attribute(PartNumber) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4j: TH reads optional attribute(ManufacturingDate) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4l: TH reads optional attribute(ProductURL) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 4k: TH reads optional attribute(PartNumber) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4m: TH reads optional attribute(ProductLabel) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 4l: TH reads optional attribute(ProductURL) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4n: TH reads optional attribute(SerialNumber) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4m: TH reads optional attribute(ProductLabel) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Step 4o: TH reads optional attribute(UniqueID) in AttributeList"); - VerifyOrDo(!ShouldSkip("BRBINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Step 4n: TH reads optional attribute(SerialNumber) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, + LogStep(18, "Step 4o: TH reads optional attribute(UniqueID) in AttributeList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, + BridgedDeviceBasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 19: { + LogStep(19, "Step 4p: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -11048,13 +11282,47 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 19: { - LogStep(19, "Step 6a: TH1 reads AcceptedCommandList from DUT"); + case 20: { + LogStep(20, "Step 5a: TH reads optional event(StartUp) in EventList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.E00 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, + BridgedDeviceBasicInformation::Attributes::EventList::Id, true, chip::NullOptional); + } + case 21: { + LogStep(21, "Step 5b: TH reads optional attribute(ShutDown) in EventList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.E01 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, + BridgedDeviceBasicInformation::Attributes::EventList::Id, true, chip::NullOptional); + } + case 22: { + LogStep(22, "Step 5c: TH reads optional attribute(Leave) in EventList"); + VerifyOrDo(!ShouldSkip("BRBINFO.S.E02 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, + BridgedDeviceBasicInformation::Attributes::EventList::Id, true, chip::NullOptional); + } + case 23: { + LogStep(23, + "Step 5d: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 24: { + LogStep(24, "Step 6a: TH1 reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 25: { + LogStep(25, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -11068,13 +11336,13 @@ class Test_TC_BRBINFO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 21: { - LogStep(21, "Step 7a: TH1 reads GeneratedCommandList from DUT"); + case 26: { + LogStep(26, "Step 7a: TH1 reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), BridgedDeviceBasicInformation::Id, BridgedDeviceBasicInformation::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 27: { + LogStep(27, "Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -12067,7 +12335,7 @@ class Test_TC_BRBINFO_2_1Suite : public TestCommand class Test_TC_ACT_1_1Suite : public TestCommand { public: - Test_TC_ACT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACT_1_1", 7, credsIssuerConfig) + Test_TC_ACT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ACT_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -12132,6 +12400,7 @@ class Test_TC_ACT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -12143,10 +12412,29 @@ class Test_TC_ACT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12155,7 +12443,7 @@ class Test_TC_ACT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintMaxLength("value", value, 11)); } break; - case 6: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12201,22 +12489,39 @@ class Test_TC_ACT_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: Read the optional attribute(SetupURL) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACT.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 6: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AcceptedCommandList::Id, true, + LogStep(5, "Step 4b: Read the optional attribute(SetupURL) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACT.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(6, "Step 5: TH reads EventList attribute from DUT"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Step 6: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::AcceptedCommandList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Actions::Id, Actions::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -12228,7 +12533,7 @@ class Test_TC_ACT_1_1Suite : public TestCommand class Test_TC_BIND_1_1Suite : public TestCommand { public: - Test_TC_BIND_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BIND_1_1", 7, credsIssuerConfig) + Test_TC_BIND_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BIND_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -12292,6 +12597,7 @@ class Test_TC_BIND_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -12299,7 +12605,17 @@ class Test_TC_BIND_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -12309,6 +12625,14 @@ class Test_TC_BIND_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -12343,11 +12667,18 @@ class Test_TC_BIND_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Binding::Id, Binding::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, + LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Binding::Id, Binding::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 5: { + LogStep(5, "Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -12362,8 +12693,24 @@ class Test_TC_BIND_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 5: { - LogStep(5, + case 6: { + LogStep(6, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -12377,8 +12724,8 @@ class Test_TC_BIND_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, + case 8: { + LogStep(8, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -12400,7 +12747,7 @@ class Test_TC_BIND_1_1Suite : public TestCommand class Test_TC_CC_1_1Suite : public TestCommand { public: - Test_TC_CC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CC_1_1", 77, credsIssuerConfig) + Test_TC_CC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CC_1_1", 79, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -12507,6 +12854,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16394UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -12518,7 +12866,15 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16385UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16394UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 10: @@ -12527,7 +12883,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 11: @@ -12536,7 +12892,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 12: @@ -12545,7 +12901,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 13: @@ -12554,7 +12910,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 14: @@ -12563,7 +12919,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 15: @@ -12572,7 +12928,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 16: @@ -12581,7 +12937,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; case 17: @@ -12590,7 +12946,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: @@ -12599,7 +12955,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; case 19: @@ -12608,7 +12964,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; case 20: @@ -12617,7 +12973,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; case 21: @@ -12626,7 +12982,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; case 22: @@ -12635,7 +12991,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; case 23: @@ -12644,7 +13000,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); } break; case 24: @@ -12653,7 +13009,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 25UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); } break; case 25: @@ -12662,7 +13018,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 25UL)); } break; case 26: @@ -12671,7 +13027,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 27UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); } break; case 27: @@ -12680,7 +13036,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 32UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 27UL)); } break; case 28: @@ -12689,7 +13045,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 32UL)); } break; case 29: @@ -12698,7 +13054,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 34UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); } break; case 30: @@ -12707,7 +13063,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 36UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 34UL)); } break; case 31: @@ -12716,7 +13072,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 37UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 36UL)); } break; case 32: @@ -12725,7 +13081,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 37UL)); } break; case 33: @@ -12734,7 +13090,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 40UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); } break; case 34: @@ -12743,7 +13099,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 40UL)); } break; case 35: @@ -12752,7 +13108,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; case 36: @@ -12761,7 +13117,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 48UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; case 37: @@ -12770,7 +13126,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 49UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 48UL)); } break; case 38: @@ -12779,7 +13135,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 50UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 49UL)); } break; case 39: @@ -12788,7 +13144,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 51UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 50UL)); } break; case 40: @@ -12797,7 +13153,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 52UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 51UL)); } break; case 41: @@ -12806,7 +13162,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 54UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 52UL)); } break; case 42: @@ -12815,7 +13171,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 55UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 54UL)); } break; case 43: @@ -12824,7 +13180,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 56UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 55UL)); } break; case 44: @@ -12833,7 +13189,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 58UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 56UL)); } break; case 45: @@ -12842,7 +13198,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 59UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 58UL)); } break; case 46: @@ -12851,7 +13207,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 60UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 59UL)); } break; case 47: @@ -12860,7 +13216,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16384UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 60UL)); } break; case 48: @@ -12869,7 +13225,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16386UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16384UL)); } break; case 49: @@ -12878,7 +13234,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16387UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16386UL)); } break; case 50: @@ -12887,7 +13243,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16388UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16387UL)); } break; case 51: @@ -12896,7 +13252,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16389UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16388UL)); } break; case 52: @@ -12905,7 +13261,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16390UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16389UL)); } break; case 53: @@ -12914,7 +13270,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16395UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16390UL)); } break; case 54: @@ -12923,7 +13279,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16396UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16395UL)); } break; case 55: @@ -12932,7 +13288,7 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16397UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16396UL)); } break; case 56: @@ -12941,10 +13297,31 @@ class Test_TC_CC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16400UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16397UL)); } break; case 57: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 16400UL)); + } + break; + case 58: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 59: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12953,7 +13330,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 58: + case 60: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12962,7 +13339,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 59: + case 61: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12971,7 +13348,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 60: + case 62: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12980,7 +13357,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 61: + case 63: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12989,7 +13366,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 62: + case 64: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -12998,7 +13375,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 63: + case 65: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13007,7 +13384,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 64: + case 66: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13016,7 +13393,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 65: + case 67: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13025,7 +13402,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 66: + case 68: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13034,7 +13411,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; - case 67: + case 69: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13043,7 +13420,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 68: + case 70: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13052,7 +13429,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); } break; - case 69: + case 71: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13061,7 +13438,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 65UL)); } break; - case 70: + case 72: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13070,7 +13447,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 66UL)); } break; - case 71: + case 73: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13079,7 +13456,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 67UL)); } break; - case 72: + case 74: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13088,7 +13465,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 68UL)); } break; - case 73: + case 75: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13097,7 +13474,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 71UL)); } break; - case 74: + case 76: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13106,7 +13483,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 75UL)); } break; - case 75: + case 77: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13115,7 +13492,7 @@ class Test_TC_CC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 76UL)); } break; - case 76: + case 78: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -13198,413 +13575,426 @@ class Test_TC_CC_1_1Suite : public TestCommand } case 8: { LogStep(8, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4b: Read the optional attribute(CurrentHue) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4b: Read the optional attribute(CurrentHue) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4d: Read the optional attribute(RemainingTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4e: Read the optional attribute(CurrentX) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4d: Read the optional attribute(RemainingTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4f: Read the optional attribute(CurrentY) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4e: Read the optional attribute(CurrentX) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4g: Read the optional attribute(DriftCompensation) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 4f: Read the optional attribute(CurrentY) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4h: Read the optional attribute(CompensationText) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 4g: Read the optional attribute(DriftCompensation) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4h: Read the optional attribute(CompensationText) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Step 4k: Read the optional attribute(Primary1X) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 19: { - LogStep(19, "Step 4l: Read the optional attribute(Primary1Y) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "Step 4k: Read the optional attribute(Primary1X) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "Step 4l: Read the optional attribute(Primary1Y) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 21: { - LogStep(21, "Step 4n: Read the optional attribute(Primary2X) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(21, "Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 22: { - LogStep(22, "Step 4o: Read the optional attribute(Primary2Y) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "Step 4n: Read the optional attribute(Primary2X) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 23: { - LogStep(23, "Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(23, "Step 4o: Read the optional attribute(Primary2Y) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 24: { - LogStep(24, "Step 4q: Read the optional attribute(Primary3X) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(24, "Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 25: { - LogStep(25, "Step 4r: Read the optional attribute(Primary3Y) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(25, "Step 4q: Read the optional attribute(Primary3X) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0019"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 26: { - LogStep(26, "Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(26, "Step 4r: Read the optional attribute(Primary3Y) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 27: { - LogStep(27, "Step 4t: Read the optional attribute(Primary4X) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0020"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A001b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 4u: Read the optional attribute(Primary4Y) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(28, "Step 4t: Read the optional attribute(Primary4X) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0020"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 29: { - LogStep(29, "Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0022"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(29, "Step 4u: Read the optional attribute(Primary4Y) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 30: { - LogStep(30, "Step 4w: Read the optional attribute(Primary5X) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(30, "Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0022"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 31: { - LogStep(31, "Step 4x: Read the optional attribute(Primary5Y) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(31, "Step 4w: Read the optional attribute(Primary5X) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 32: { - LogStep(32, "Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0026"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(32, "Step 4x: Read the optional attribute(Primary5Y) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 33: { - LogStep(33, "Step 4z: Read the optional attribute(Primary6X) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0028"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(33, "Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0026"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 34: { - LogStep(34, "Step 4a1: Read the optional attribute(Primary6Y) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(34, "Step 4z: Read the optional attribute(Primary6X) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0028"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 35: { - LogStep(35, "Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A002a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(35, "Step 4a1: Read the optional attribute(Primary6Y) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 36: { - LogStep(36, "Step 4a3: Read the optional attribute(WhitePointX) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(36, "Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A002a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 37: { - LogStep(37, "Step 4a4: Read the optional attribute(WhitePointY) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(37, "Step 4a3: Read the optional attribute(WhitePointX) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 38: { - LogStep(38, "Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(38, "Step 4a4: Read the optional attribute(WhitePointY) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 39: { - LogStep(39, "Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(39, "Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 40: { - LogStep(40, "Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0034"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(40, "Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0033"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 41: { - LogStep(41, "Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0036"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(41, "Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0034"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 42: { - LogStep(42, "Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0037"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(42, "Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0036"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 43: { - LogStep(43, "Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(43, "Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0037"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 44: { - LogStep(44, "Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(44, "Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 45: { - LogStep(45, "Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A003b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(45, "Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 46: { - LogStep(46, "Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A003c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(46, "Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A003b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 47: { - LogStep(47, "Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(47, "Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A003c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 48: { - LogStep(48, "Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(48, "Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A4000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 49: { - LogStep(49, "Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(49, "Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A4002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 50: { - LogStep(50, "Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A4004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(50, "Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A4003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 51: { - LogStep(51, "Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(51, "Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A4004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 52: { - LogStep(52, "Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(52, "Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A4005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 53: { - LogStep(53, "Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A400b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(53, "Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A4006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 54: { - LogStep(54, "Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A400c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(54, "Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A400b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 55: { - LogStep(55, "Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A400d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(55, "Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A400c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 56: { - LogStep(56, "Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList"); - VerifyOrDo(!ShouldSkip("CC.S.A4010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(56, "Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A400d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 57: { - LogStep(57, "Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList"); + LogStep(57, "Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList"); + VerifyOrDo(!ShouldSkip("CC.S.A4010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 58: { + LogStep(58, "Step 5: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 59: { + LogStep(59, "Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 58: { - LogStep(58, "Step 6b: Read the optional command(MoveHue) in AcceptedCommandList"); + case 60: { + LogStep(60, "Step 6b: Read the optional command(MoveHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C01.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 59: { - LogStep(59, "Step 6c: Read the optional command(StepHue) in AcceptedCommandList"); + case 61: { + LogStep(61, "Step 6c: Read the optional command(StepHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 60: { - LogStep(60, "Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList"); + case 62: { + LogStep(62, "Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 61: { - LogStep(61, "Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList"); + case 63: { + LogStep(63, "Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 62: { - LogStep(62, "Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList"); + case 64: { + LogStep(64, "Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 63: { - LogStep(63, "Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList"); + case 65: { + LogStep(65, "Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 64: { - LogStep(64, "Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList"); + case 66: { + LogStep(66, "Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 65: { - LogStep(65, "Step 6i: Read the optional command(MoveColor) in AcceptedCommandList"); + case 67: { + LogStep(67, "Step 6i: Read the optional command(MoveColor) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C08.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 66: { - LogStep(66, "Step 6j: Read the optional command(StepColor) in AcceptedCommandList"); + case 68: { + LogStep(68, "Step 6j: Read the optional command(StepColor) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C09.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 67: { - LogStep(67, "Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList"); + case 69: { + LogStep(69, "Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C0a.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 68: { - LogStep(68, "Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList"); + case 70: { + LogStep(70, "Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 69: { - LogStep(69, "Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList"); + case 71: { + LogStep(71, "Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 70: { - LogStep(70, "Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList"); + case 72: { + LogStep(72, "Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 71: { - LogStep(71, "Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList"); + case 73: { + LogStep(73, "Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C43.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 72: { - LogStep(72, "Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList"); + case 74: { + LogStep(74, "Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C44.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 73: { - LogStep(73, "Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList"); + case 75: { + LogStep(75, "Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C47.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 74: { - LogStep(74, "Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList"); + case 76: { + LogStep(76, "Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C4b.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 75: { - LogStep(75, "Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList"); + case 77: { + LogStep(77, "Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CC.S.C4c.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 76: { - LogStep(76, "Step 7: Read the global attribute: GeneratedCommandList"); + case 78: { + LogStep(78, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ColorControl::Id, ColorControl::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -24044,7 +24434,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand { public: Test_TC_CDOCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CDOCONC_1_1", 31, credsIssuerConfig) + TestCommand("Test_TC_CDOCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -24224,6 +24614,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -24235,7 +24626,12 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -24244,10 +24640,19 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24259,7 +24664,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24272,7 +24677,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24282,7 +24687,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24292,7 +24697,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24302,7 +24707,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24312,7 +24717,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24321,7 +24726,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24330,11 +24735,27 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24346,11 +24767,11 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -24362,7 +24783,7 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -24476,85 +24897,92 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("CDOCONC.S.A0007 && CDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip(" !PICS_EVENT_LIST_ENABLED "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("CDOCONC.S.A0007 && CDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, + CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when CDOCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when CDOCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "CDOCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "CDOCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("CDOCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when CDOCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when CDOCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !CDOCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -24569,14 +24997,36 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, + CarbonDioxideConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -24590,14 +25040,14 @@ class Test_TC_CDOCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonDioxideConcentrationMeasurement::Id, CarbonDioxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -24856,7 +25306,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand { public: Test_TC_CMOCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CMOCONC_1_1", 31, credsIssuerConfig) + TestCommand("Test_TC_CMOCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -25032,6 +25482,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -25043,7 +25494,12 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -25052,10 +25508,19 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25067,7 +25532,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25080,7 +25545,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25090,7 +25555,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25100,7 +25565,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25110,7 +25575,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25120,7 +25585,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25129,7 +25594,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25138,11 +25603,27 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25154,11 +25635,11 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25170,7 +25651,7 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -25284,85 +25765,92 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("CMOCONC.S.A0007 && CMOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("CMOCONC.S.A0007 && CMOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, + CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when CMOCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when CMOCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "CMOCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "CMOCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("CMOCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when CMOCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when CMOCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !CMOCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -25377,14 +25865,36 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, + CarbonMonoxideConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -25398,14 +25908,14 @@ class Test_TC_CMOCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), CarbonMonoxideConcentrationMeasurement::Id, CarbonMonoxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -25666,7 +26176,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand { public: Test_TC_FLDCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_FLDCONC_1_1", 31, credsIssuerConfig) + TestCommand("Test_TC_FLDCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -25842,6 +26352,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -25853,7 +26364,12 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -25862,10 +26378,19 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25877,7 +26402,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25890,7 +26415,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25900,7 +26425,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25910,7 +26435,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25920,7 +26445,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25930,7 +26455,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25939,7 +26464,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25948,11 +26473,27 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25964,11 +26505,11 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -25980,7 +26521,7 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -26094,85 +26635,92 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("FLDCONC.S.A0007 && FLDCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("FLDCONC.S.A0007 && FLDCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, + FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when FLDCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when FLDCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "FLDCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "FLDCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("FLDCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when FLDCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when FLDCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !FLDCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -26187,14 +26735,36 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, + FormaldehydeConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -26208,14 +26778,14 @@ class Test_TC_FLDCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FormaldehydeConcentrationMeasurement::Id, FormaldehydeConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -26472,7 +27042,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand { public: Test_TC_NDOCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_NDOCONC_1_1", 31, credsIssuerConfig) + TestCommand("Test_TC_NDOCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -26648,6 +27218,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -26659,7 +27230,12 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -26668,10 +27244,19 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26683,7 +27268,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26696,7 +27281,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26706,7 +27291,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26716,7 +27301,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26726,7 +27311,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26736,7 +27321,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26745,7 +27330,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26754,11 +27339,27 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26770,11 +27371,11 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -26786,7 +27387,7 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -26901,85 +27502,92 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("NDOCONC.S.A0007 && NDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("NDOCONC.S.A0007 && NDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, + NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when NDOCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when NDOCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "NDOCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "NDOCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("NDOCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !NDOCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -26994,14 +27602,36 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, + NitrogenDioxideConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -27016,14 +27646,14 @@ class Test_TC_NDOCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), NitrogenDioxideConcentrationMeasurement::Id, NitrogenDioxideConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -27284,7 +27914,7 @@ class Test_TC_NDOCONC_2_1Suite : public TestCommand class Test_TC_OZCONC_1_1Suite : public TestCommand { public: - Test_TC_OZCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OZCONC_1_1", 31, credsIssuerConfig) + Test_TC_OZCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OZCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -27460,6 +28090,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -27471,7 +28102,12 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -27480,10 +28116,19 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27495,7 +28140,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27508,7 +28153,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27518,7 +28163,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27528,7 +28173,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27538,7 +28183,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27548,7 +28193,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27557,7 +28202,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27566,11 +28211,27 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27582,11 +28243,11 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -27598,7 +28259,7 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -27711,85 +28372,92 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("OZCONC.S.A0007 && OZCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("OZCONC.S.A0007 && OZCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, + OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when OZCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when OZCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "OZCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "OZCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("OZCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when OZCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when OZCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !OZCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4l: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -27803,13 +28471,35 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, + OzoneConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: Read the global attribute: EventList. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -27823,13 +28513,13 @@ class Test_TC_OZCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OzoneConcentrationMeasurement::Id, OzoneConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -28083,7 +28773,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand { public: Test_TC_PMHCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_PMHCONC_1_1", 31, credsIssuerConfig) + TestCommand("Test_TC_PMHCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -28259,6 +28949,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -28270,7 +28961,12 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -28279,10 +28975,19 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28294,7 +28999,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28307,7 +29012,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28317,7 +29022,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28327,7 +29032,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28337,7 +29042,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28347,7 +29052,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28356,7 +29061,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28365,11 +29070,27 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28381,11 +29102,11 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -28397,7 +29118,7 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -28511,85 +29232,92 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("PMHCONC.S.A0007 && PMHCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("PMHCONC.S.A0007 && PMHCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, + Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when PMHCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when PMHCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "PMHCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "PMHCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("PMHCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when PMHCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when PMHCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !PMHCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -28604,13 +29332,35 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, + Pm1ConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -28624,13 +29374,13 @@ class Test_TC_PMHCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm1ConcentrationMeasurement::Id, Pm1ConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -28884,7 +29634,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand { public: Test_TC_PMICONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_PMICONC_1_1", 31, credsIssuerConfig) + TestCommand("Test_TC_PMICONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -29060,6 +29810,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -29071,7 +29822,12 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -29080,10 +29836,19 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29095,7 +29860,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29108,7 +29873,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29118,7 +29883,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29128,7 +29893,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29138,7 +29903,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29148,7 +29913,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29157,7 +29922,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29166,11 +29931,27 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29182,11 +29963,11 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29198,7 +29979,7 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -29312,85 +30093,92 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("PMICONC.S.A0007 && PMICONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("PMICONC.S.A0007 && PMICONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, + Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when PMICONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when PMICONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "PMICONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "PMICONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("PMICONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when PMICONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when PMICONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !PMICONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -29405,13 +30193,35 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, + Pm25ConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -29425,13 +30235,13 @@ class Test_TC_PMICONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7b: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7b: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm25ConcentrationMeasurement::Id, Pm25ConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -29686,7 +30496,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand { public: Test_TC_PMKCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_PMKCONC_1_1", 31, credsIssuerConfig) + TestCommand("Test_TC_PMKCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -29862,6 +30672,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -29873,7 +30684,12 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -29882,10 +30698,19 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29897,7 +30722,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29910,7 +30735,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29920,7 +30745,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29930,7 +30755,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29940,7 +30765,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29950,7 +30775,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29959,7 +30784,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29968,11 +30793,27 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -29984,11 +30825,11 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30000,7 +30841,7 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -30114,85 +30955,92 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("PMKCONC.S.A0007 && PMKCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("PMKCONC.S.A0007 && PMKCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, + Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when PMKCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when PMKCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "PMKCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "PMKCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("PMKCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when PMKCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when PMKCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !PMKCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -30207,13 +31055,35 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, + Pm10ConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -30227,13 +31097,13 @@ class Test_TC_PMKCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Pm10ConcentrationMeasurement::Id, Pm10ConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -30487,7 +31357,7 @@ class Test_TC_PMKCONC_2_1Suite : public TestCommand class Test_TC_RNCONC_1_1Suite : public TestCommand { public: - Test_TC_RNCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_RNCONC_1_1", 31, credsIssuerConfig) + Test_TC_RNCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_RNCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -30663,6 +31533,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -30674,7 +31545,12 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -30683,10 +31559,19 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30698,7 +31583,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30711,7 +31596,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30721,7 +31606,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30731,7 +31616,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30741,7 +31626,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30751,7 +31636,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30760,7 +31645,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30769,11 +31654,27 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30785,11 +31686,11 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -30801,7 +31702,7 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -30914,86 +31815,93 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("RNCONC.S.A0007 && RNCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("RNCONC.S.A0007 && RNCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, + RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 18: { LogStep( - 17, + 18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when RNCONC.S.A0007 is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when RNCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "RNCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "RNCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("RNCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when RNCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when RNCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !RNCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { + case 27: { LogStep( - 26, + 27, "Step 4l: TH reads the AttributeList attribute from the DUT. 1.The list SHALL NOT contain any additional values in " "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -31008,13 +31916,35 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, + RadonConcentrationMeasurement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -31029,13 +31959,13 @@ class Test_TC_RNCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RadonConcentrationMeasurement::Id, RadonConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -31290,7 +32220,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand { public: Test_TC_TVOCCONC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_TVOCCONC_1_1", 31, credsIssuerConfig) + TestCommand("Test_TC_TVOCCONC_1_1", 34, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -31466,6 +32396,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -31477,7 +32408,12 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 17: @@ -31486,10 +32422,19 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 7UL)); + } + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31501,7 +32446,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31514,7 +32459,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 8UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31524,7 +32469,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31534,7 +32479,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31544,7 +32489,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31554,7 +32499,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 6UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31563,7 +32508,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31572,11 +32517,27 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 10UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 27: + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31588,11 +32549,11 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 28: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 29: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -31604,7 +32565,7 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 30: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -31731,19 +32692,27 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand } case 15: { LogStep(15, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); - VerifyOrDo(!ShouldSkip("TVOCCONC.S.A0007 && TVOCCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, + LogStep(17, "Step 4b: Read the optional attribute Uncertainty in AttributeList"); + VerifyOrDo(!ShouldSkip("TVOCCONC.S.A0007 && TVOCCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, + TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 18: { + LogStep(18, "Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when TVOCCONC.S.A0007 is not " "set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.A0007 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31751,8 +32720,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, MaxMeasuredValue " "and Measurement Unit in AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31760,8 +32729,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, + case 20: { + LogStep(20, "Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and Uncertainty are " "excluded from AttributeList when TVOCCONC.S.F00 (MEA) is not set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31769,8 +32738,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, + case 21: { + LogStep(21, "Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & PeakMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31778,8 +32747,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, + case 22: { + LogStep(22, "Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from AttributeList when " "TVOCCONC.S.F04 (PEA) is not set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.F04 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31787,8 +32756,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 22: { - LogStep(22, + case 23: { + LogStep(23, "Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue AverageMeasuredValueWindow in " "AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31796,8 +32765,8 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, + case 24: { + LogStep(24, "Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from AttributeList when " "TVOCCONC.S.F05 (AVG) is not set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.F05 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -31805,22 +32774,22 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); + case 25: { + LogStep(25, "Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList"); VerifyOrDo(!ShouldSkip("TVOCCONC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "Step 4k: Check that LevelValue is excluded from AttributeList when TVOCCONC.S.F01 (LEV) is not set"); + case 26: { + LogStep(26, "Step 4k: Check that LevelValue is excluded from AttributeList when TVOCCONC.S.F01 (LEV) is not set"); VerifyOrDo(!ShouldSkip(" !TVOCCONC.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, + case 27: { + LogStep(27, "Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -31835,14 +32804,37 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 27: { - LogStep(27, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 28: { + LogStep(28, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, + TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 29: { + LogStep(29, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 30: { + LogStep(30, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, + case 31: { + LogStep(31, "Step 6b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -31857,14 +32849,14 @@ class Test_TC_TVOCCONC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 32: { + LogStep(32, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TotalVolatileOrganicCompoundsConcentrationMeasurement::Id, TotalVolatileOrganicCompoundsConcentrationMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 30: { - LogStep(30, + case 33: { + LogStep(33, "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -32653,7 +33645,7 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand { public: Test_TC_OPCREDS_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_OPCREDS_1_2", 9, credsIssuerConfig) + TestCommand("Test_TC_OPCREDS_1_2", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -32717,6 +33709,7 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); @@ -32729,9 +33722,32 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -32747,11 +33763,11 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 6: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -32763,7 +33779,7 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 8: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -32801,11 +33817,18 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, + LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, + OperationalCredentials::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -32820,13 +33843,29 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 5: { - LogStep(5, "Step 6a: TH reads AcceptedCommandList from DUT"); + case 6: { + LogStep(6, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Step 6a: TH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, + case 8: { + LogStep(8, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -32841,13 +33880,13 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, "Step 7a: TH reads GeneratedCommandList from DUT"); + case 9: { + LogStep(9, "Step 7a: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), OperationalCredentials::Id, OperationalCredentials::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, + case 10: { + LogStep(10, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -32869,7 +33908,7 @@ class Test_TC_OPCREDS_1_2Suite : public TestCommand class Test_TC_BINFO_1_1Suite : public TestCommand { public: - Test_TC_BINFO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_1_1", 19, credsIssuerConfig) + Test_TC_BINFO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_BINFO_1_1", 22, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -32944,6 +33983,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -32955,7 +33995,23 @@ class Test_TC_BINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: @@ -32964,7 +34020,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; case 6: @@ -32973,7 +34029,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; case 7: @@ -32982,7 +34038,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); } break; case 8: @@ -32991,7 +34047,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); } break; case 9: @@ -33000,7 +34056,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); } break; case 10: @@ -33009,7 +34065,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; case 11: @@ -33018,14 +34074,35 @@ class Test_TC_BINFO_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + } break; case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33034,7 +34111,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 14: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33043,7 +34120,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 15: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33052,7 +34129,7 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 16: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -33061,11 +34138,15 @@ class Test_TC_BINFO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 17: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 18: + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -33103,59 +34184,66 @@ class Test_TC_BINFO_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4c: TH reads optional attribute(PartNumber) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4d: TH reads optional attribute(ProductURL) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4c: TH reads optional attribute(PartNumber) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4e: TH reads optional attribute(ProductLabel) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4d: TH reads optional attribute(ProductURL) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4f: TH reads optional attribute(SerialNumber) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4e: TH reads optional attribute(ProductLabel) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4f: TH reads optional attribute(SerialNumber) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A000f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4h: TH reads optional attribute(Reachable) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4i: TH reads optional attribute(UniqueID) in attributeList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4h: TH reads optional attribute(Reachable) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, + LogStep(12, "Step 4i: TH reads optional attribute(UniqueID) in attributeList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, + BasicInformation::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 13: { + LogStep(13, "Step 4j: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -33170,32 +34258,55 @@ class Test_TC_BINFO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 13: { - LogStep(13, "Step 5b: Read BINFO.S.E00(StartUp) event in EventList"); - VerifyOrDo(!ShouldSkip("BINFO.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, - true, chip::NullOptional); - } case 14: { - LogStep(14, "Step 5c: Read BINFO.S.E01(ShutDown) event in EventList"); - VerifyOrDo(!ShouldSkip("BINFO.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 5a: TH1 reads EventList from DUT"); + VerifyOrDo(!ShouldSkip(" !BINFO.S.E00 && !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 && PICS_EVENT_LIST_ENABLED"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 5d: Read BINFO.S.E02(Leave) event in EventList"); - VerifyOrDo(!ShouldSkip("BINFO.S.E02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 5b: Read BINFO.S.E00(StartUp) event in EventList"); + VerifyOrDo(!ShouldSkip("BINFO.S.E00 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 5e: Read (ReachableChanged) event in EventList"); - VerifyOrDo(!ShouldSkip("BINFO.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 5c: Read BINFO.S.E01(ShutDown) event in EventList"); + VerifyOrDo(!ShouldSkip("BINFO.S.E01 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, + LogStep(17, "Step 5d: Read BINFO.S.E02(Leave) event in EventList"); + VerifyOrDo(!ShouldSkip("BINFO.S.E02 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, + true, chip::NullOptional); + } + case 18: { + LogStep(18, "Step 5e: Read (ReachableChanged) event in EventList"); + VerifyOrDo(!ShouldSkip("BINFO.S.A0011 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), BasicInformation::Id, BasicInformation::Attributes::EventList::Id, + true, chip::NullOptional); + } + case 19: { + LogStep(19, + "Step 5f: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the Manufacturer " + "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " + "0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or invalid " + "range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 20: { + LogStep(20, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -33209,8 +34320,8 @@ class Test_TC_BINFO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 18: { - LogStep(18, + case 21: { + LogStep(21, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -34722,7 +35833,7 @@ class Test_TC_BINFO_2_2Suite : public TestCommand class Test_TC_CNET_1_3Suite : public TestCommand { public: - Test_TC_CNET_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CNET_1_3", 19, credsIssuerConfig) + Test_TC_CNET_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CNET_1_3", 21, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -34808,12 +35919,26 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34827,7 +35952,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34836,7 +35961,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 9: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34845,11 +35970,15 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 11: + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34861,7 +35990,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 12: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34870,7 +35999,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 13: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34879,7 +36008,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 14: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34890,11 +36019,11 @@ class Test_TC_CNET_1_3Suite : public TestCommand } } break; - case 15: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 16: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34905,7 +36034,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 17: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -34916,7 +36045,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand } } break; - case 18: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -34973,30 +36102,37 @@ class Test_TC_CNET_1_3Suite : public TestCommand } case 6: { LogStep(6, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, + LogStep(7, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, + NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 8: { + LogStep(8, "Step 4b: Read mandatory attributes in AttributeList if CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true"); VerifyOrDo(!ShouldSkip("CNET.S.F00 || CNET.S.F01 || CNET.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList"); + case 9: { + LogStep(9, "Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList"); VerifyOrDo(!ShouldSkip("CNET.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList"); + case 10: { + LogStep(10, "Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList"); VerifyOrDo(!ShouldSkip("CNET.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 11: { + LogStep(11, "Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -35011,34 +36147,50 @@ class Test_TC_CNET_1_3Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { + case 12: { + LogStep(12, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 13: { LogStep( - 11, + 13, "Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features CNET.S.F00(WI),CNET.S.F01(TH)"); VerifyOrDo(!ShouldSkip("( CNET.S.F00 || CNET.S.F01 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true)"); + case 14: { + LogStep(14, "Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is true)"); VerifyOrDo(!ShouldSkip("CNET.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is true)"); + case 15: { + LogStep(15, "Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is true)"); VerifyOrDo(!ShouldSkip("CNET.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) is true)"); + case 16: { + LogStep(16, "Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) is true)"); VerifyOrDo(!ShouldSkip("CNET.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, + case 17: { + LogStep(17, "Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -35053,24 +36205,24 @@ class Test_TC_CNET_1_3Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 16: { - LogStep(16, + case 18: { + LogStep(18, "Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related features(CNET.S.F00(WI) or " "CNET.S.F01(TH) is true)"); VerifyOrDo(!ShouldSkip("( CNET.S.F00 || CNET.S.F01 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 17: { + case 19: { LogStep( - 17, + 19, "Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related features(CNET.S.F02(ET) must be true)"); VerifyOrDo(!ShouldSkip("CNET.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), NetworkCommissioning::Id, NetworkCommissioning::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 20: { + LogStep(20, "Step 7c: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -35092,7 +36244,7 @@ class Test_TC_CNET_1_3Suite : public TestCommand class Test_TC_DESC_1_1Suite : public TestCommand { public: - Test_TC_DESC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_1_1", 7, credsIssuerConfig) + Test_TC_DESC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DESC_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -35154,6 +36306,7 @@ class Test_TC_DESC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -35161,7 +36314,20 @@ class Test_TC_DESC_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -35171,6 +36337,14 @@ class Test_TC_DESC_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -35210,11 +36384,18 @@ class Test_TC_DESC_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, + LogStep(4, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), Descriptor::Id, Descriptor::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 5: { + LogStep(5, "Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -35229,8 +36410,24 @@ class Test_TC_DESC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 5: { - LogStep(5, + case 6: { + LogStep(6, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -35244,8 +36441,8 @@ class Test_TC_DESC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, + case 8: { + LogStep(8, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -35267,7 +36464,7 @@ class Test_TC_DESC_1_1Suite : public TestCommand class Test_TC_DLOG_1_1Suite : public TestCommand { public: - Test_TC_DLOG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_1_1", 9, credsIssuerConfig) + Test_TC_DLOG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DLOG_1_1", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -35330,6 +36527,7 @@ class Test_TC_DLOG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -35337,9 +36535,26 @@ class Test_TC_DLOG_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35353,11 +36568,11 @@ class Test_TC_DLOG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 6: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35371,7 +36586,7 @@ class Test_TC_DLOG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -35409,11 +36624,18 @@ class Test_TC_DLOG_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TTH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, + LogStep(4, "Step 4a: TTH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 5: { + LogStep(5, "Step 4b: TTH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in " "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY " "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " @@ -35428,13 +36650,29 @@ class Test_TC_DLOG_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 5: { - LogStep(5, "Step 6a: TTH reads AcceptedCommandList from DUT"); + case 6: { + LogStep(6, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Step 6a: TTH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, + case 8: { + LogStep(8, "Step 6b: TTH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -35449,13 +36687,13 @@ class Test_TC_DLOG_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, "Step 7a: TTH reads GeneratedCommandList from DUT"); + case 9: { + LogStep(9, "Step 7a: TTH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), DiagnosticLogs::Id, DiagnosticLogs::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, + case 10: { + LogStep(10, "Step 7b: TTH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -35477,7 +36715,7 @@ class Test_TC_DLOG_1_1Suite : public TestCommand class Test_TC_DGETH_1_1Suite : public TestCommand { public: - Test_TC_DGETH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_1_1", 20, credsIssuerConfig) + Test_TC_DGETH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGETH_1_1", 22, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -35558,6 +36796,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -35569,7 +36808,11 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: @@ -35578,7 +36821,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 8: @@ -35587,7 +36830,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 9: @@ -35596,7 +36839,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 10: @@ -35605,7 +36848,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 11: @@ -35614,7 +36857,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 12: @@ -35623,7 +36866,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 13: @@ -35632,7 +36875,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; case 14: @@ -35641,14 +36884,27 @@ class Test_TC_DGETH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + } break; case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35657,7 +36913,7 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 17: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -35669,11 +36925,11 @@ class Test_TC_DGETH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 18: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 19: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -35724,75 +36980,82 @@ class Test_TC_DGETH_1_1Suite : public TestCommand } case 5: { LogStep(5, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4b: TH reads optional attribute(PHYRate) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4c: TH reads optional attribute(FullDuplex) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGETH.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4b: TH reads optional attribute(PHYRate) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { + LogStep(8, "Step 4c: TH reads optional attribute(FullDuplex) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGETH.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, + EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 9: { LogStep( - 8, + 9, "Step 4d: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F00(PKTCNT)) in AttributeList"); VerifyOrDo(!ShouldSkip("DGETH.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 9: { + case 10: { LogStep( - 9, + 10, "Step 4e: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F00(PKTCNT)) in AttributeList"); VerifyOrDo(!ShouldSkip("DGETH.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 10: { + case 11: { LogStep( - 10, + 11, "Step 4f: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); VerifyOrDo(!ShouldSkip("DGETH.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 11: { + case 12: { LogStep( - 11, + 12, "Step 4g: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); VerifyOrDo(!ShouldSkip("DGETH.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 12: { + case 13: { LogStep( - 12, + 13, "Step 4h: TH reads optional attribute(PacketRxCount) and Feature dependent(DGETH.S.F01(ERRCNT)) in AttributeList"); VerifyOrDo(!ShouldSkip("DGETH.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList"); + case 14: { + LogStep(14, "Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList"); VerifyOrDo(!ShouldSkip("DGETH.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList"); + case 15: { + LogStep(15, "Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList"); VerifyOrDo(!ShouldSkip("DGETH.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, + case 16: { + LogStep(16, "Step 4k: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -35807,20 +37070,36 @@ class Test_TC_DGETH_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 16: { - LogStep(16, "Step 6a: TH reads AcceptedCommandList from DUT"); + case 17: { + LogStep(17, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 18: { + LogStep(18, "Step 6a: TH reads AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip("( DGETH.S.F00 || DGETH.S.F01 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 6b: TH reads AcceptedCommandList from DUT"); + case 19: { + LogStep(19, "Step 6b: TH reads AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip(" !DGETH.S.F00 && !DGETH.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), EthernetNetworkDiagnostics::Id, EthernetNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 20: { + LogStep(20, "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -35835,8 +37114,8 @@ class Test_TC_DGETH_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 19: { - LogStep(19, + case 21: { + LogStep(21, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -36550,7 +37829,7 @@ class Test_TC_DGETH_2_2Suite : public TestCommand class Test_TC_FLW_1_1Suite : public TestCommand { public: - Test_TC_FLW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLW_1_1", 8, credsIssuerConfig) + Test_TC_FLW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLW_1_1", 10, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -36616,6 +37895,7 @@ class Test_TC_FLW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -36627,12 +37907,24 @@ class Test_TC_FLW_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -36642,6 +37934,14 @@ class Test_TC_FLW_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -36676,17 +37976,24 @@ class Test_TC_FLW_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("FLW.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, FlowMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, + LogStep(5, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("FLW.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FlowMeasurement::Id, + FlowMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -36701,8 +38008,24 @@ class Test_TC_FLW_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, + case 7: { + LogStep(7, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 8: { + LogStep(8, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -36717,8 +38040,8 @@ class Test_TC_FLW_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, + case 9: { + LogStep(9, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -36876,7 +38199,7 @@ class Test_TC_FLW_2_1Suite : public TestCommand class Test_TC_FLABEL_1_1Suite : public TestCommand { public: - Test_TC_FLABEL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLABEL_1_1", 7, credsIssuerConfig) + Test_TC_FLABEL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FLABEL_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -36940,6 +38263,7 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -36947,7 +38271,17 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -36957,6 +38291,14 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -36991,11 +38333,18 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FixedLabel::Id, FixedLabel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, + LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FixedLabel::Id, FixedLabel::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 5: { + LogStep(5, "Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -37010,8 +38359,24 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 5: { - LogStep(5, + case 6: { + LogStep(6, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -37025,8 +38390,8 @@ class Test_TC_FLABEL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, + case 8: { + LogStep(8, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -37165,7 +38530,7 @@ class Test_TC_FLABEL_2_1Suite : public TestCommand class Test_TC_FAN_1_1Suite : public TestCommand { public: - Test_TC_FAN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FAN_1_1", 19, credsIssuerConfig) + Test_TC_FAN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_FAN_1_1", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -37281,12 +38646,30 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37297,7 +38680,7 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37307,7 +38690,7 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 12: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37317,7 +38700,7 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37326,11 +38709,11 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 14: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 15: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37342,11 +38725,11 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 16: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 17: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -37355,7 +38738,7 @@ class Test_TC_FAN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 18: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -37436,35 +38819,42 @@ class Test_TC_FAN_1_1Suite : public TestCommand } case 9: { LogStep(9, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 3b: Read the feature dependent FAN.S.F00 (SPD) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("FAN.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 3c: Read the feature dependent FAN.S.F02(RCK) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("FAN.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 3b: Read the feature dependent FAN.S.F00 (SPD) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("FAN.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 3d: Read the feature dependent FAN.S.F03(WND) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("FAN.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 3c: Read the feature dependent FAN.S.F02(RCK) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("FAN.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 3e: Read the feature dependent FAN.S.F05(DIR) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("FAN.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 3d: Read the feature dependent FAN.S.F03(WND) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("FAN.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, + LogStep(14, "Step 3e: Read the feature dependent FAN.S.F05(DIR) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("FAN.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 15: { + LogStep(15, "Step 3f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -37479,14 +38869,14 @@ class Test_TC_FAN_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 15: { - LogStep(15, "Step 4a: Read the global attribute: AcceptedCommandList"); + case 16: { + LogStep(16, "Step 4a: Read the global attribute: AcceptedCommandList"); VerifyOrDo(!ShouldSkip(" !FAN.S.C00.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, + case 17: { + LogStep(17, "Step 4b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -37501,14 +38891,14 @@ class Test_TC_FAN_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 17: { - LogStep(17, "Step 5a: Read the optional command (ResetCondition) in AcceptedCommandList"); + case 18: { + LogStep(18, "Step 5a: Read the optional command (ResetCondition) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("FAN.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), FanControl::Id, FanControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 19: { + LogStep(19, "Step 5b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values " "in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed " @@ -38586,7 +39976,7 @@ class Test_TC_FAN_3_6Suite : public TestCommand class Test_TC_CGEN_1_1Suite : public TestCommand { public: - Test_TC_CGEN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_1_1", 6, credsIssuerConfig) + Test_TC_CGEN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_CGEN_1_1", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -38654,6 +40044,7 @@ class Test_TC_CGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -38662,15 +40053,45 @@ class Test_TC_CGEN_1_1Suite : public TestCommand case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + } + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -38715,16 +40136,29 @@ class Test_TC_CGEN_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, GeneralCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 6: Read the global attribute: AcceptedCommandList"); + LogStep(4, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, - GeneralCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + GeneralCommissioning::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(5, "Step 5: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, + GeneralCommissioning::Attributes::EventList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 6: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, + GeneralCommissioning::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralCommissioning::Id, GeneralCommissioning::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -38903,7 +40337,7 @@ class Test_TC_CGEN_2_1Suite : public TestCommand class Test_TC_DGGEN_1_1Suite : public TestCommand { public: - Test_TC_DGGEN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_1_1", 14, credsIssuerConfig) + Test_TC_DGGEN_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGGEN_1_1", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -38969,6 +40403,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -38980,7 +40415,14 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: @@ -38989,7 +40431,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 6: @@ -38998,7 +40440,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 7: @@ -39007,7 +40449,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 8: @@ -39016,7 +40458,7 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 9: @@ -39025,14 +40467,63 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + } break; case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39041,11 +40532,11 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 12: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 13: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -39083,47 +40574,54 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: Read optional attribute(UpTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: Read optional attribute(UpTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4d: Read optional attribute(BootReason) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4d: Read optional attribute(BootReason) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGGEN.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, + LogStep(10, "Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, + GeneralDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 11: { + LogStep(11, "Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -39138,13 +40636,53 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { - LogStep(11, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 12: { + LogStep(12, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, + GeneralDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 13: { + LogStep(13, "Step 5b: Read optional event(HardwareFaultChange) in EventList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.E00 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, + GeneralDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 14: { + LogStep(14, "Step 5c: Read optional event(RadioFaultChange) in EventList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.E01 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, + GeneralDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 15: { + LogStep(15, "Step 5d: Read optional event(NetworkFaultChange) in EventList"); + VerifyOrDo(!ShouldSkip("DGGEN.S.E02 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, + GeneralDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 16: { + LogStep(16, + "Step 5e: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 17: { + LogStep(17, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GeneralDiagnostics::Id, GeneralDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, + case 18: { + LogStep(18, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -39159,8 +40697,8 @@ class Test_TC_DGGEN_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 13: { - LogStep(13, + case 19: { + LogStep(19, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -39484,7 +41022,7 @@ class Test_TC_DGGEN_2_1Suite : public TestCommand class Test_TC_GRPKEY_1_1Suite : public TestCommand { public: - Test_TC_GRPKEY_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_GRPKEY_1_1", 11, credsIssuerConfig) + Test_TC_GRPKEY_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_GRPKEY_1_1", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -39560,6 +41098,7 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -39567,13 +41106,46 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } break; case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39585,11 +41157,11 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 8: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 9: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39599,7 +41171,7 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 10: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -39644,11 +41216,18 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, GroupKeyManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, + LogStep(5, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip(" !PICS_EVENT_LIST_ENABLED "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, + GroupKeyManagement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 4b: The list SHALL NOT contain any additional values in the standard or scoped range: (0x0000_0000 - " "0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible " "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " @@ -39663,8 +41242,30 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, + case 7: { + LogStep(7, "Step 5a: TH1 reads EventList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, + GroupKeyManagement::Attributes::EventList::Id, true, chip::NullOptional); + } + case 8: { + LogStep(8, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 9: { + LogStep(9, "Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " @@ -39679,13 +41280,13 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, "Step 6a: TH reads AcceptedCommandList from DUT"); + case 10: { + LogStep(10, "Step 6a: TH reads AcceptedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, GroupKeyManagement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, + case 11: { + LogStep(11, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -39699,13 +41300,13 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 7a: TH reads GeneratedCommandList from DUT"); + case 12: { + LogStep(12, "Step 7a: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), GroupKeyManagement::Id, GroupKeyManagement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 13: { + LogStep(13, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -39727,7 +41328,7 @@ class Test_TC_GRPKEY_1_1Suite : public TestCommand class Test_TC_ICDM_1_1Suite : public TestCommand { public: - Test_TC_ICDM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ICDM_1_1", 16, credsIssuerConfig) + Test_TC_ICDM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ICDM_1_1", 19, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -39802,6 +41403,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -39813,7 +41415,14 @@ class Test_TC_ICDM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: @@ -39822,7 +41431,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 7: @@ -39831,14 +41440,39 @@ class Test_TC_ICDM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + } break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39850,7 +41484,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39860,7 +41494,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 11: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39869,11 +41503,11 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 12: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 13: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39885,7 +41519,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 14: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -39894,7 +41528,7 @@ class Test_TC_ICDM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 15: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -39939,29 +41573,36 @@ class Test_TC_ICDM_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads AttributeList attribute from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: Read the optional attribute(RegisteredClients) in AttributeList"); - VerifyOrDo(!ShouldSkip("ICDM.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4a: TH reads AttributeList attribute from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4c: Read the optional attribute(IcdCounter) in AttributeList"); - VerifyOrDo(!ShouldSkip("ICDM.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4b: Read the optional attribute(RegisteredClients) in AttributeList"); + VerifyOrDo(!ShouldSkip("ICDM.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList"); - VerifyOrDo(!ShouldSkip("ICDM.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4c: Read the optional attribute(IcdCounter) in AttributeList"); + VerifyOrDo(!ShouldSkip("ICDM.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, + LogStep(8, "Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList"); + VerifyOrDo(!ShouldSkip("ICDM.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 9: { + LogStep(9, "Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -39976,26 +41617,48 @@ class Test_TC_ICDM_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 6a: TH reads AcceptedCommandList attribute from DUT"); + case 10: { + LogStep(10, "Step 5a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 11: { + LogStep(11, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 12: { + LogStep(12, "Step 6a: TH reads AcceptedCommandList attribute from DUT"); VerifyOrDo(!ShouldSkip(" !ICDM.S.F00 && !ICDM.S.C03.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6b: TH reads AcceptedCommandList attribute from DUT if ICDM.S.F00 is true"); + case 13: { + LogStep(13, "Step 6b: TH reads AcceptedCommandList attribute from DUT if ICDM.S.F00 is true"); VerifyOrDo(!ShouldSkip("ICDM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 6c: Read the optional command (StayActiveRequest) in AttributeList"); + case 14: { + LogStep(14, "Step 6c: Read the optional command (StayActiveRequest) in AttributeList"); VerifyOrDo(!ShouldSkip("ICDM.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, + case 15: { + LogStep(15, "Step 6d: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -40010,20 +41673,20 @@ class Test_TC_ICDM_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 13: { - LogStep(13, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); + case 16: { + LogStep(16, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); VerifyOrDo(!ShouldSkip(" !ICDM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); + case 17: { + LogStep(17, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); VerifyOrDo(!ShouldSkip("ICDM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), IcdManagement::Id, IcdManagement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, + case 18: { + LogStep(18, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -40207,7 +41870,7 @@ class Test_TC_ICDM_2_1Suite : public TestCommand class Test_TC_I_1_1Suite : public TestCommand { public: - Test_TC_I_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_1_1", 7, credsIssuerConfig) + Test_TC_I_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_I_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -40269,9 +41932,9 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -40280,10 +41943,16 @@ class Test_TC_I_1_1Suite : public TestCommand case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: @@ -40292,10 +41961,19 @@ class Test_TC_I_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); + } + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -40307,6 +41985,10 @@ class Test_TC_I_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -40340,26 +42022,45 @@ class Test_TC_I_1_1Suite : public TestCommand chip::NullOptional); } case 3: { - LogStep(3, "Step 4: Read the global attribute: AttributeList"); + LogStep(3, "Step 4: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 5: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, + LogStep(4, "Step 4: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 6: Read the optional command(TriggerEffect) in AcceptedCommandList"); - VerifyOrDo(!ShouldSkip("I.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 5: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 6: Read the global attribute: GeneratedCommandList"); + LogStep(6, "Step 6: Read the optional command(TriggerEffect) in AcceptedCommandList"); + VerifyOrDo(!ShouldSkip("I.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::AcceptedCommandList::Id, true, + chip::NullOptional); + } + case 7: { + LogStep(7, "Step 6: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Identify::Id, Identify::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 8: { + LogStep(8, + "Step 7: Read EventList attribute from the DUT. For this cluster the list is usually empty but it can contain " + "manufacturer specific event IDs."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -41049,7 +42750,7 @@ class Test_TC_I_2_3Suite : public TestCommand class Test_TC_ILL_1_1Suite : public TestCommand { public: - Test_TC_ILL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ILL_1_1", 8, credsIssuerConfig) + Test_TC_ILL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ILL_1_1", 10, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -41115,6 +42816,7 @@ class Test_TC_ILL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -41126,7 +42828,14 @@ class Test_TC_ILL_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: @@ -41135,10 +42844,23 @@ class Test_TC_ILL_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41150,7 +42872,7 @@ class Test_TC_ILL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41196,28 +42918,47 @@ class Test_TC_ILL_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("ILL.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4c: Read the optional attribute(LightSensorType) in AttributeList"); - VerifyOrDo(!ShouldSkip("ILL.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("ILL.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 6: Read the global attribute: AcceptedCommandList"); + LogStep(6, "Step 4c: Read the optional attribute(LightSensorType) in AttributeList"); + VerifyOrDo(!ShouldSkip("ILL.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, - IlluminanceMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + IlluminanceMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(7, + "Step 5: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " + "manufacturer specific event IDs."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 8: { + LogStep(8, "Step 6: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, + IlluminanceMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 9: { + LogStep(9, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), IlluminanceMeasurement::Id, IlluminanceMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -41556,7 +43297,7 @@ class Test_TC_ILL_2_2Suite : public TestCommand class Test_TC_LVL_1_1Suite : public TestCommand { public: - Test_TC_LVL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LVL_1_1", 18, credsIssuerConfig) + Test_TC_LVL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LVL_1_1", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -41649,12 +43390,29 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41664,7 +43422,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16384UL)); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41675,7 +43433,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 9: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41684,7 +43442,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41693,7 +43451,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41702,7 +43460,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 12: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41711,7 +43469,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41720,7 +43478,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; - case 14: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41729,7 +43487,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; - case 15: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41745,7 +43503,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 16: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41754,7 +43512,7 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 17: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -41766,6 +43524,18 @@ class Test_TC_LVL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -41819,73 +43589,86 @@ class Test_TC_LVL_1_1Suite : public TestCommand } case 6: { LogStep(6, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("LVL.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList"); - VerifyOrDo(!ShouldSkip("LVL.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("LVL.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 3d: Read the optional attribute(MinLevel) in AttributeList"); - VerifyOrDo(!ShouldSkip("LVL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in AttributeList"); + VerifyOrDo(!ShouldSkip("LVL.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 3e: Read the optional attribute(MaxLevel) in AttributeList"); - VerifyOrDo(!ShouldSkip("LVL.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 3d: Read the optional attribute(MinLevel) in AttributeList"); + VerifyOrDo(!ShouldSkip("LVL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("LVL.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 3e: Read the optional attribute(MaxLevel) in AttributeList"); + VerifyOrDo(!ShouldSkip("LVL.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("LVL.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("LVL.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("LVL.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("LVL.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList"); - VerifyOrDo(!ShouldSkip("LVL.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("LVL.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4a: Read the global attribute: AcceptedCommandList"); + LogStep(15, "Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList"); + VerifyOrDo(!ShouldSkip("LVL.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 16: { + LogStep(16, "Step 4a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList"); + case 17: { + LogStep(17, "Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("LVL.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 4b: Read the global attribute: GeneratedCommandList"); + case 18: { + LogStep(18, "Step 4b: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 19: { + LogStep(19, "Step 5: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -44883,7 +46666,7 @@ class Test_TC_LVL_7_1Suite : public TestCommand class Test_TC_LCFG_1_1Suite : public TestCommand { public: - Test_TC_LCFG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LCFG_1_1", 6, credsIssuerConfig) + Test_TC_LCFG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LCFG_1_1", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -44948,12 +46731,40 @@ class Test_TC_LCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -44965,7 +46776,7 @@ class Test_TC_LCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 5: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45011,16 +46822,29 @@ class Test_TC_LCFG_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, LocalizationConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 6: TH reads AcceptedCommandList from DUT"); + LogStep(4, "Step 4: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, - LocalizationConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + LocalizationConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 7: TH reads GeneratedCommandList from DUT"); + LogStep(5, "Step 5: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, + LocalizationConfiguration::Attributes::EventList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 6: TH reads AcceptedCommandList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, + LocalizationConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 7: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), LocalizationConfiguration::Id, LocalizationConfiguration::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -45032,7 +46856,7 @@ class Test_TC_LCFG_1_1Suite : public TestCommand class Test_TC_LUNIT_1_2Suite : public TestCommand { public: - Test_TC_LUNIT_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LUNIT_1_2", 8, credsIssuerConfig) + Test_TC_LUNIT_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LUNIT_1_2", 10, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -45104,6 +46928,7 @@ class Test_TC_LUNIT_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -45115,10 +46940,35 @@ class Test_TC_LUNIT_1_2Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45130,7 +46980,7 @@ class Test_TC_LUNIT_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45183,22 +47033,35 @@ class Test_TC_LUNIT_1_2Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("LUNIT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 6: TH reads AcceptedCommandList from DUT"); + LogStep(6, "Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("LUNIT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, - UnitLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + UnitLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 7: TH reads GeneratedCommandList from DUT"); + LogStep(7, "Step 5: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::EventList::Id, + true, chip::NullOptional); + } + case 8: { + LogStep(8, "Step 6: TH reads AcceptedCommandList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, + UnitLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 9: { + LogStep(9, "Step 7: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), UnitLocalization::Id, UnitLocalization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -45381,7 +47244,7 @@ class Test_TC_LUNIT_3_1Suite : public TestCommand class Test_TC_LTIME_1_2Suite : public TestCommand { public: - Test_TC_LTIME_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LTIME_1_2", 8, credsIssuerConfig) + Test_TC_LTIME_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LTIME_1_2", 10, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -45446,6 +47309,7 @@ class Test_TC_LTIME_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -45457,7 +47321,12 @@ class Test_TC_LTIME_1_2Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: @@ -45466,10 +47335,31 @@ class Test_TC_LTIME_1_2Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45481,7 +47371,7 @@ class Test_TC_LTIME_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 7: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45527,28 +47417,41 @@ class Test_TC_LTIME_1_2Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("LTIME.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 6: TH reads AcceptedCommandList from DUT"); + LogStep(6, "Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("LTIME.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, - TimeFormatLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + TimeFormatLocalization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 7: TH reads GeneratedCommandList from DUT"); + LogStep(7, "Step 5: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::EventList::Id, true, chip::NullOptional); + } + case 8: { + LogStep(8, "Step 6: TH reads AcceptedCommandList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, + TimeFormatLocalization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 9: { + LogStep(9, "Step 7: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeFormatLocalization::Id, TimeFormatLocalization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -45561,7 +47464,7 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand { public: Test_TC_LOWPOWER_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_LOWPOWER_1_1", 6, credsIssuerConfig) + TestCommand("Test_TC_LOWPOWER_1_1", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -45617,6 +47520,30 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand } break; case 3: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 0)); + VerifyOrReturn(CheckValue("attributeList[0]", iter_0.GetValue(), 65528UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 1)); + VerifyOrReturn(CheckValue("attributeList[1]", iter_0.GetValue(), 65529UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 2)); + VerifyOrReturn(CheckValue("attributeList[2]", iter_0.GetValue(), 65530UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 3)); + VerifyOrReturn(CheckValue("attributeList[3]", iter_0.GetValue(), 65531UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 4)); + VerifyOrReturn(CheckValue("attributeList[4]", iter_0.GetValue(), 65532UL)); + VerifyOrReturn(CheckNextListItemDecodes("attributeList", iter_0, 5)); + VerifyOrReturn(CheckValue("attributeList[5]", iter_0.GetValue(), 65533UL)); + VerifyOrReturn(CheckNoMoreListItems("attributeList", iter_0, 6)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45638,7 +47565,7 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 4: + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45652,7 +47579,7 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 5: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45664,6 +47591,18 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -45698,19 +47637,32 @@ class Test_TC_LOWPOWER_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 3: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::AcceptedCommandList::Id, true, + LogStep(4, "Step 3: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 5: Read the global attribute: GeneratedCommandList"); + LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::AcceptedCommandList::Id, true, + chip::NullOptional); + } + case 6: { + LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 7: { + LogStep(7, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LowPower::Id, LowPower::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -45720,7 +47672,7 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand { public: Test_TC_KEYPADINPUT_1_2Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_KEYPADINPUT_1_2", 9, credsIssuerConfig) + TestCommand("Test_TC_KEYPADINPUT_1_2", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -45810,12 +47762,26 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45824,7 +47790,7 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -45833,6 +47799,18 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -45887,19 +47865,32 @@ class Test_TC_KEYPADINPUT_1_2Suite : public TestCommand } case 6: { LogStep(6, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(7, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 5: Read the global attribute: GeneratedCommandList"); + case 9: { + LogStep(9, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep(10, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), KeypadInput::Id, KeypadInput::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -45909,7 +47900,7 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand { public: Test_TC_APPLAUNCHER_1_3Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_APPLAUNCHER_1_3", 9, credsIssuerConfig) + TestCommand("Test_TC_APPLAUNCHER_1_3", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -45981,6 +47972,7 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -45992,7 +47984,11 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: @@ -46001,10 +47997,19 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46015,7 +48020,7 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46024,6 +48029,18 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -46065,31 +48082,44 @@ class Test_TC_APPLAUNCHER_1_3Suite : public TestCommand } case 4: { LogStep(4, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 3b: Read the optional attribute(CatalogList) in AttributeList"); - VerifyOrDo(!ShouldSkip("APPLAUNCHER.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3c: Read the optional attribute(CurrentApp) in AttributeList"); - VerifyOrDo(!ShouldSkip("APPLAUNCHER.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 3b: Read the optional attribute(CatalogList) in AttributeList"); + VerifyOrDo(!ShouldSkip("APPLAUNCHER.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(7, "Step 3c: Read the optional attribute(CurrentApp) in AttributeList"); + VerifyOrDo(!ShouldSkip("APPLAUNCHER.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, - ApplicationLauncher::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + ApplicationLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 5: Read the global attribute: GeneratedCommandList"); + LogStep(8, "Step 4: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, + ApplicationLauncher::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 9: { + LogStep(9, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, ApplicationLauncher::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep(10, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ApplicationLauncher::Id, + ApplicationLauncher::Attributes::EventList::Id, true, chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -46099,7 +48129,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand { public: Test_TC_MEDIAINPUT_1_4Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_MEDIAINPUT_1_4", 9, credsIssuerConfig) + TestCommand("Test_TC_MEDIAINPUT_1_4", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -46171,6 +48201,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -46182,7 +48213,11 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: @@ -46191,10 +48226,19 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46206,7 +48250,7 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46218,6 +48262,18 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -46259,31 +48315,44 @@ class Test_TC_MEDIAINPUT_1_4Suite : public TestCommand } case 4: { LogStep(4, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 3b: Read the optional attribute(InputList) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3c: Read the optional attribute(CurrentInput) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 3b: Read the optional attribute(InputList) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(7, "Step 3c: Read the optional attribute(CurrentInput) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAINPUT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 5: Read the global attribute: GeneratedCommandList"); + case 9: { + LogStep(9, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep(10, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaInput::Id, MediaInput::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -46293,7 +48362,7 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand { public: Test_TC_WAKEONLAN_1_5Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_WAKEONLAN_1_5", 7, credsIssuerConfig) + TestCommand("Test_TC_WAKEONLAN_1_5", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -46356,6 +48425,7 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -46367,10 +48437,23 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46382,7 +48465,7 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 6: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46394,6 +48477,18 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -46428,25 +48523,38 @@ class Test_TC_WAKEONLAN_1_5Suite : public TestCommand } case 3: { LogStep(3, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 3b: Read the optional attribute(MACAddress) in AttributeList"); - VerifyOrDo(!ShouldSkip("WAKEONLAN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(5, "Step 3b: Read the optional attribute(MACAddress) in AttributeList"); + VerifyOrDo(!ShouldSkip("WAKEONLAN.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 6: { + LogStep(6, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); + case 7: { + LogStep(7, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 8: { + LogStep(8, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WakeOnLan::Id, WakeOnLan::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -46456,7 +48564,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand { public: Test_TC_CHANNEL_1_6Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CHANNEL_1_6", 14, credsIssuerConfig) + TestCommand("Test_TC_CHANNEL_1_6", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -46537,6 +48645,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -46548,7 +48657,11 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: @@ -46557,7 +48670,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 8: @@ -46566,10 +48679,19 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46578,7 +48700,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46587,7 +48709,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46596,7 +48718,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 12: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46608,7 +48730,7 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46617,6 +48739,18 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -46664,57 +48798,70 @@ class Test_TC_CHANNEL_1_6Suite : public TestCommand } case 5: { LogStep(5, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3b: Read the optional attribute(ChannelList): AttributeList"); - VerifyOrDo(!ShouldSkip("CHANNEL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 3c: Reading optional attribute(Lineup) in AttributeList"); - VerifyOrDo(!ShouldSkip("CHANNEL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 3b: Read the optional attribute(ChannelList): AttributeList"); + VerifyOrDo(!ShouldSkip("CHANNEL.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 3d: Read the optional attribute(CurrentChannel): AttributeList"); - VerifyOrDo(!ShouldSkip("CHANNEL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 3c: Reading optional attribute(Lineup) in AttributeList"); + VerifyOrDo(!ShouldSkip("CHANNEL.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4a: Read the optional command(ChangeChannel) in AcceptedCommandList"); + LogStep(9, "Step 3d: Read the optional attribute(CurrentChannel): AttributeList"); + VerifyOrDo(!ShouldSkip("CHANNEL.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 10: { + LogStep(10, "Step 4a: Read the optional command(ChangeChannel) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 4b: Read the optional command(ChangeChannelByNumber) in AcceptedCommandList"); + case 11: { + LogStep(11, "Step 4b: Read the optional command(ChangeChannelByNumber) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 4c: Read the optional command(SkipChannel) in AcceptedCommandList"); + case 12: { + LogStep(12, "Step 4c: Read the optional command(SkipChannel) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 5a: Read the global attribute: GeneratedCommandList"); + case 13: { + LogStep(13, "Step 5a: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip("( !CHANNEL.S.F00 && !CHANNEL.S.F01 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 5b: Read the global attribute: GeneratedCommandList"); + case 14: { + LogStep(14, "Step 5b: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip("CHANNEL.S.F00 || CHANNEL.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 15: { + LogStep(15, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Channel::Id, Channel::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -46724,7 +48871,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand { public: Test_TC_MEDIAPLAYBACK_1_7Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_MEDIAPLAYBACK_1_7", 22, credsIssuerConfig) + TestCommand("Test_TC_MEDIAPLAYBACK_1_7", 24, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -46806,6 +48953,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -46817,7 +48965,12 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: @@ -46826,7 +48979,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 8: @@ -46835,7 +48988,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 9: @@ -46844,7 +48997,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 10: @@ -46853,7 +49006,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 11: @@ -46862,10 +49015,19 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + } + break; + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46876,7 +49038,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46885,7 +49047,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 14: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46894,7 +49056,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 15: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46903,7 +49065,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 16: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46912,7 +49074,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 17: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46921,7 +49083,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 18: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46930,7 +49092,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46939,7 +49101,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46948,7 +49110,7 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -46957,6 +49119,18 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; + case 23: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47005,103 +49179,116 @@ class Test_TC_MEDIAPLAYBACK_1_7Suite : public TestCommand } case 5: { LogStep(5, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3b: Read the optional attribute(StartTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 3c: Read the optional attribute(Duration) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 3b: Read the optional attribute(StartTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 3d: Read the optional attribute(SampledPosition) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 3c: Read the optional attribute(Duration) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 3e: Read the optional attribute(PlaybackSpeed) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 3d: Read the optional attribute(SampledPosition) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 3f: Read the optional attribute(SeekRangeEnd) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 3e: Read the optional attribute(PlaybackSpeed) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 3g: Read the optional attribute(SeekRangeStart) in AttributeList"); - VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 3f: Read the optional attribute(SeekRangeEnd) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4a: Read the global attribute: AcceptedCommandList"); + LogStep(12, "Step 3g: Read the optional attribute(SeekRangeStart) in AttributeList"); + VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 13: { + LogStep(13, "Step 4a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 4b: Read the optional command(StartOver) in AcceptedCommandList"); + case 14: { + LogStep(14, "Step 4b: Read the optional command(StartOver) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 4c: Read the optional command(Previous) in AcceptedCommandList"); + case 15: { + LogStep(15, "Step 4c: Read the optional command(Previous) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 4d: Read the optional command(Next) in AcceptedCommandList"); + case 16: { + LogStep(16, "Step 4d: Read the optional command(Next) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C05.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Step 4e: Read the optional command(Rewind) in AcceptedCommandList"); + case 17: { + LogStep(17, "Step 4e: Read the optional command(Rewind) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 4f: Read the optional command(FastForward) in AcceptedCommandList"); + case 18: { + LogStep(18, "Step 4f: Read the optional command(FastForward) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C07.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Step 4g: Read the optional command(SkipForward) in AcceptedCommandList"); + case 19: { + LogStep(19, "Step 4g: Read the optional command(SkipForward) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C08.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 19: { - LogStep(19, "Step 4h: Read the optional command(SkipBackward) in AcceptedCommandList"); + case 20: { + LogStep(20, "Step 4h: Read the optional command(SkipBackward) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C09.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 20: { - LogStep(20, "Step 4i: Read the optional command(Seek) in AcceptedCommandList"); + case 21: { + LogStep(21, "Step 4i: Read the optional command(Seek) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("MEDIAPLAYBACK.S.C0b.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 21: { - LogStep(21, "Step 5: Read the global attribute: GeneratedCommandList"); + case 22: { + LogStep(22, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 23: { + LogStep(23, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), MediaPlayback::Id, MediaPlayback::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -47111,7 +49298,7 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand { public: Test_TC_AUDIOOUTPUT_1_8Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_AUDIOOUTPUT_1_8", 7, credsIssuerConfig) + TestCommand("Test_TC_AUDIOOUTPUT_1_8", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47185,6 +49372,7 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -47193,13 +49381,28 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { - chip::app::DataModel::DecodableList value; + chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47211,6 +49414,18 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47252,19 +49467,32 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand } case 4: { LogStep(4, "Step 3: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(5, "Step 3: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 6: { + LogStep(6, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); + case 7: { + LogStep(7, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 8: { + LogStep(8, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), AudioOutput::Id, AudioOutput::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -47273,7 +49501,7 @@ class Test_TC_AUDIOOUTPUT_1_8Suite : public TestCommand class Test_TC_TGTNAV_1_9Suite : public TestCommand { public: - Test_TC_TGTNAV_1_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TGTNAV_1_9", 7, credsIssuerConfig) + Test_TC_TGTNAV_1_9Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TGTNAV_1_9", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47337,6 +49565,7 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -47348,10 +49577,24 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47360,7 +49603,7 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 6: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47369,6 +49612,18 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47403,25 +49658,38 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand } case 3: { LogStep(3, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 3b: Read the optional attribute(CurrentTarget) in AttributeList"); - VerifyOrDo(!ShouldSkip("TGTNAV.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(5, "Step 3b: Read the optional attribute(CurrentTarget) in AttributeList"); + VerifyOrDo(!ShouldSkip("TGTNAV.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, - TargetNavigator::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + TargetNavigator::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); + LogStep(6, "Step 4: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, + TargetNavigator::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 8: { + LogStep(8, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TargetNavigator::Id, TargetNavigator::Attributes::EventList::Id, + true, chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -47430,7 +49698,7 @@ class Test_TC_TGTNAV_1_9Suite : public TestCommand class Test_TC_APBSC_1_10Suite : public TestCommand { public: - Test_TC_APBSC_1_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_APBSC_1_10", 9, credsIssuerConfig) + Test_TC_APBSC_1_10Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_APBSC_1_10", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47498,6 +49766,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -47509,7 +49778,16 @@ class Test_TC_APBSC_1_10Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: @@ -47518,7 +49796,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 6: @@ -47527,10 +49805,19 @@ class Test_TC_APBSC_1_10Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47542,7 +49829,7 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47554,6 +49841,18 @@ class Test_TC_APBSC_1_10Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47588,37 +49887,50 @@ class Test_TC_APBSC_1_10Suite : public TestCommand } case 3: { LogStep(3, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 3b: Read the optional attribute(VendorName) in AttributeList"); - VerifyOrDo(!ShouldSkip("APBSC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 3c: Read the optional attribute(VendorID) in AttributeList"); - VerifyOrDo(!ShouldSkip("APBSC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 3b: Read the optional attribute(VendorName) in AttributeList"); + VerifyOrDo(!ShouldSkip("APBSC.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3d: Read the optional attribute(ProductID) in AttributeList"); - VerifyOrDo(!ShouldSkip("APBSC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 3c: Read the optional attribute(VendorID) in AttributeList"); + VerifyOrDo(!ShouldSkip("APBSC.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(7, "Step 3d: Read the optional attribute(ProductID) in AttributeList"); + VerifyOrDo(!ShouldSkip("APBSC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, - ApplicationBasic::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + ApplicationBasic::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 5: Read the global attribute: GeneratedCommandList"); + LogStep(8, "Step 4: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, + ApplicationBasic::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 9: { + LogStep(9, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 10: { + LogStep(10, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), ApplicationBasic::Id, ApplicationBasic::Attributes::EventList::Id, + true, chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -47628,7 +49940,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand { public: Test_TC_CONTENTLAUNCHER_1_11Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_CONTENTLAUNCHER_1_11", 11, credsIssuerConfig) + TestCommand("Test_TC_CONTENTLAUNCHER_1_11", 13, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47709,6 +50021,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -47720,7 +50033,11 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: @@ -47729,10 +50046,19 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47741,7 +50067,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 9: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47750,7 +50076,7 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47759,6 +50085,18 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47807,38 +50145,51 @@ class Test_TC_CONTENTLAUNCHER_1_11Suite : public TestCommand } case 5: { LogStep(5, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 3b: Read the optional attribute(AcceptHeader): AttributeList"); - VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 3a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 3c: Read the optional attribute(SupportedStreamingProtocols): AttributeList"); - VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 3b: Read the optional attribute(AcceptHeader): AttributeList"); + VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4a: Read the optional command(LaunchContent) in AcceptedCommandList attribute"); + LogStep(8, "Step 3c: Read the optional attribute(SupportedStreamingProtocols): AttributeList"); + VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, + ContentLauncher::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 9: { + LogStep(9, "Step 4a: Read the optional command(LaunchContent) in AcceptedCommandList attribute"); VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.C.C00.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 4b: Read the optional command(LaunchURL) in AcceptedCommandList attribute"); + case 10: { + LogStep(10, "Step 4b: Read the optional command(LaunchURL) in AcceptedCommandList attribute"); VerifyOrDo(!ShouldSkip("CONTENTLAUNCHER.C.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 5: Read the global attribute: GeneratedCommandList"); + case 11: { + LogStep(11, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 12: { + LogStep(12, "Step 6: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ContentLauncher::Id, ContentLauncher::Attributes::EventList::Id, + true, chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -47848,7 +50199,7 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand { public: Test_TC_ALOGIN_1_12Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_ALOGIN_1_12", 6, credsIssuerConfig) + TestCommand("Test_TC_ALOGIN_1_12", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -47911,12 +50262,26 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47927,7 +50292,7 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 5: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -47936,6 +50301,18 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -47970,19 +50347,32 @@ class Test_TC_ALOGIN_1_12Suite : public TestCommand } case 3: { LogStep(3, "Step 3: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4: Read the global attribute: AcceptedCommandList"); + LogStep(4, "Step 3: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 5: { + LogStep(5, "Step 4: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 5: { - LogStep(5, "Step 5: Read the global attribute: GeneratedCommandList"); + case 6: { + LogStep(6, "Step 5: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 7: { + LogStep(7, "Step 6: TH reads EventList attribute from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(3), AccountLogin::Id, AccountLogin::Attributes::EventList::Id, true, + chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -52902,7 +55292,7 @@ class Test_TC_CONTENTLAUNCHER_10_7Suite : public TestCommand class Test_TC_MOD_1_1Suite : public TestCommand { public: - Test_TC_MOD_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_1_1", 12, credsIssuerConfig) + Test_TC_MOD_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_MOD_1_1", 15, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -52973,6 +55363,7 @@ class Test_TC_MOD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -52984,7 +55375,15 @@ class Test_TC_MOD_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: @@ -52993,14 +55392,39 @@ class Test_TC_MOD_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + } break; case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -53009,11 +55433,11 @@ class Test_TC_MOD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 9: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 10: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -53025,7 +55449,7 @@ class Test_TC_MOD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 11: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -53075,23 +55499,30 @@ class Test_TC_MOD_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("MOD.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("MOD.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("MOD.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, + LogStep(7, "Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("MOD.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Step 4d: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -53106,13 +55537,35 @@ class Test_TC_MOD_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 8: { - LogStep(8, "Step 6a: TH reads AcceptedCommandList attribute from DUT"); + case 9: { + LogStep(9, "Step 5a: TH reads from the DUT the EventList attribute"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 10: { + LogStep(10, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 11: { + LogStep(11, "Step 6a: TH reads AcceptedCommandList attribute from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, + case 12: { + LogStep(12, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -53127,13 +55580,13 @@ class Test_TC_MOD_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 10: { - LogStep(10, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); + case 13: { + LogStep(13, "Step 7a: TH reads GeneratedCommandList attribute from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ModeSelect::Id, ModeSelect::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, + case 14: { + LogStep(14, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -53423,7 +55876,7 @@ class OTA_SuccessfulTransferSuite : public TestCommand class Test_TC_OCC_1_1Suite : public TestCommand { public: - Test_TC_OCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OCC_1_1", 6, credsIssuerConfig) + Test_TC_OCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OCC_1_1", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -53489,12 +55942,41 @@ class Test_TC_OCC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -53506,7 +55988,7 @@ class Test_TC_OCC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 5: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -53552,16 +56034,29 @@ class Test_TC_OCC_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 6: Read the global attribute: AcceptedCommandList"); + LogStep(4, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, - OccupancySensing::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + OccupancySensing::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(5, "Step 5: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::EventList::Id, + true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 6: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, + OccupancySensing::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OccupancySensing::Id, OccupancySensing::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -53935,7 +56430,7 @@ class Test_TC_OCC_2_3Suite : public TestCommand class Test_TC_OO_1_1Suite : public TestCommand { public: - Test_TC_OO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OO_1_1", 13, credsIssuerConfig) + Test_TC_OO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_OO_1_1", 15, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -54018,12 +56513,27 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -54035,11 +56545,15 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16387UL)); } break; - case 7: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 8: + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -54050,7 +56564,7 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 9: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -54061,11 +56575,11 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 66UL)); } break; - case 10: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 11: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -54077,7 +56591,7 @@ class Test_TC_OO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 12: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -54128,17 +56642,24 @@ class Test_TC_OO_1_1Suite : public TestCommand } case 5: { LogStep(5, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4b: Read the feature dependent(OO.S.F00) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, + LogStep(7, "Step 4b: Read the feature dependent(OO.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -54153,19 +56674,35 @@ class Test_TC_OO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 8: { - LogStep(8, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 9: { + LogStep(9, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 10: { + LogStep(10, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 6b: Read the feature dependent(OO.S.F00) commands in AcceptedCommandList"); + case 11: { + LogStep(11, "Step 6b: Read the feature dependent(OO.S.F00) commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OO.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 12: { + LogStep(12, "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -54180,13 +56717,13 @@ class Test_TC_OO_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { - LogStep(11, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 13: { + LogStep(13, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OnOff::Id, OnOff::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, + case 14: { + LogStep(14, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -55151,7 +57688,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand { public: Test_TC_OPSTATE_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_OPSTATE_1_1", 14, credsIssuerConfig) + TestCommand("Test_TC_OPSTATE_1_1", 18, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -55219,6 +57756,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -55230,14 +57768,54 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55247,7 +57825,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 7: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55256,7 +57834,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 8: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55266,7 +57844,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 9: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55276,11 +57854,11 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 10: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 11: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55292,7 +57870,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 12: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55301,7 +57879,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 13: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -55339,17 +57917,24 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("OPSTATE.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, + LogStep(5, "Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("OPSTATE.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, + OperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 4c: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -55363,32 +57948,60 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, "Step 6a: Read the optional command(Start) in AcceptedCommandList"); + case 7: { + LogStep(7, "Step 5a: TH reads from the DUT the EventList attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::EventList::Id, + true, chip::NullOptional); + } + case 8: { + LogStep(8, "Step 5b: TH reads from the DUT the optional event(OperationCompletion) in EventList."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && OPSTATE.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::EventList::Id, + true, chip::NullOptional); + } + case 9: { + LogStep(9, + "Step 5c: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 10: { + LogStep(10, "Step 6a: Read the optional command(Start) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OPSTATE.S.C02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); + case 11: { + LogStep(11, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OPSTATE.S.C01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 6c: Read the optional command(Pause) in AcceptedCommandList"); + case 12: { + LogStep(12, "Step 6c: Read the optional command(Pause) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OPSTATE.S.C00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); + case 13: { + LogStep(13, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("OPSTATE.S.C03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 14: { + LogStep(14, "Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -55402,22 +58015,22 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { - LogStep(11, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 15: { + LogStep(15, "Step 7a: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip("!OPSTATE.S.C00 || !OPSTATE.S.C01 || !OPSTATE.S.C02 || !OPSTATE.S.C03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 16: { + LogStep(16, "Step 7a: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip("(OPSTATE.S.C00 || OPSTATE.S.C01 || OPSTATE.S.C02 || OPSTATE.S.C03)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), OperationalState::Id, OperationalState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, + case 17: { + LogStep(17, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -55439,7 +58052,7 @@ class Test_TC_OPSTATE_1_1Suite : public TestCommand class Test_TC_PS_1_1Suite : public TestCommand { public: - Test_TC_PS_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PS_1_1", 14, credsIssuerConfig) + Test_TC_PS_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PS_1_1", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -55544,6 +58157,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 31UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -55555,10 +58169,27 @@ class Test_TC_PS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 31UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + } + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55569,7 +58200,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55579,7 +58210,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 28UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55589,7 +58220,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 25UL)); } break; - case 12: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55601,7 +58232,7 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -55613,6 +58244,49 @@ class Test_TC_PS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -55673,43 +58347,87 @@ class Test_TC_PS_1_1Suite : public TestCommand } case 7: { LogStep(7, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("PS.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("PS.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("PS.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("PS.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("PS.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("PS.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("PS.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 5: Read the global attribute: AcceptedCommandList"); + LogStep(12, "Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("PS.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 13: { + LogStep(13, "Step 5: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 6: Read the global attribute: GeneratedCommandList"); + case 14: { + LogStep(14, "Step 6: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 15: { + LogStep(15, "Step 7a: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 16: { + LogStep(16, "Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 17: { + LogStep(17, "Step 7c: Read PS.S.E01(BatFaultChange) event in EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 18: { + LogStep(18, "Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PowerSource::Id, PowerSource::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 19: { + LogStep(19, + "Step 7e: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " + "manufacturer specific event IDs."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -56280,7 +58998,7 @@ class Test_TC_PS_2_1Suite : public TestCommand class Test_TC_PRS_1_1Suite : public TestCommand { public: - Test_TC_PRS_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PRS_1_1", 14, credsIssuerConfig) + Test_TC_PRS_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PRS_1_1", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -56355,6 +59073,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -56366,7 +59085,14 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: @@ -56375,7 +59101,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; case 7: @@ -56384,7 +59110,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; case 8: @@ -56393,7 +59119,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; case 9: @@ -56402,7 +59128,7 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; case 10: @@ -56411,12 +59137,17 @@ class Test_TC_PRS_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); + } break; case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -56426,6 +59157,14 @@ class Test_TC_PRS_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -56467,47 +59206,54 @@ class Test_TC_PRS_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: Read the global mandatory attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: Read the optional attribute(ScaledValue) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4a: Read the global mandatory attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4c: Read the optional attribute(MinScaledValue) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4b: Read the optional attribute(ScaledValue) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4c: Read the optional attribute(MinScaledValue) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0011"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4e: Read the optional attribute(Scale) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0012"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4f: Read the optional attribute(Tolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4e: Read the optional attribute(Scale) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("PRS.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4f: Read the optional attribute(Tolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, + LogStep(11, "Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("PRS.S.A0013"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PressureMeasurement::Id, + PressureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 12: { + LogStep(12, "Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -56522,8 +59268,24 @@ class Test_TC_PRS_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 12: { - LogStep(12, + case 13: { + LogStep(13, + "Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 14: { + LogStep(14, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -56537,8 +59299,8 @@ class Test_TC_PRS_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 13: { - LogStep(13, + case 15: { + LogStep(15, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -56902,7 +59664,7 @@ class Test_TC_PRS_2_2Suite : public TestCommand class Test_TC_PCC_1_1Suite : public TestCommand { public: - Test_TC_PCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PCC_1_1", 30, credsIssuerConfig) + Test_TC_PCC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PCC_1_1", 50, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -57035,6 +59797,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 32UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -57046,7 +59809,18 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 32UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 12: @@ -57055,7 +59829,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 13: @@ -57064,7 +59838,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; case 14: @@ -57073,7 +59847,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; case 15: @@ -57082,7 +59856,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; case 16: @@ -57091,7 +59865,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; case 17: @@ -57100,7 +59874,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; case 18: @@ -57109,7 +59883,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; case 19: @@ -57118,7 +59892,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; case 20: @@ -57127,7 +59901,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; case 21: @@ -57136,7 +59910,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; case 22: @@ -57145,7 +59919,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; case 23: @@ -57154,7 +59928,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; case 24: @@ -57163,7 +59937,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; case 25: @@ -57172,7 +59946,7 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); } break; case 26: @@ -57181,18 +59955,196 @@ class Test_TC_PCC_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); } break; case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); + } break; case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; case 29: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 34: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + } + break; + case 35: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + } + break; + case 36: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + } + break; + case 37: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + } + break; + case 38: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + } + break; + case 39: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + } + break; + case 40: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + } + break; + case 41: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); + } + break; + case 42: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); + } + break; + case 43: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); + } + break; + case 44: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); + } + break; + case 45: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); + } + break; + case 46: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); + } + break; + case 47: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 48: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -57275,107 +60227,114 @@ class Test_TC_PCC_1_1Suite : public TestCommand } case 10: { LogStep(10, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0006"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 19: { - LogStep(19, "Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 21: { - LogStep(21, "Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(21, "Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A000c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 22: { - LogStep(22, "Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 23: { - LogStep(23, "Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(23, "Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0014"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 24: { - LogStep(24, "Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(24, "Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 25: { - LogStep(25, "Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(25, "Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 26: { - LogStep(26, "Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("PCC.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(26, "Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); } case 27: { - LogStep(27, + LogStep(27, "Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("PCC.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 28: { + LogStep(28, "Step 4r: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -57389,8 +60348,135 @@ class Test_TC_PCC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 28: { - LogStep(28, + case 29: { + LogStep(29, "Step 5a: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !PCC.S.E00 && !PCC.S.E01 && !PCC.S.E02 && !PCC.S.E03 && !PCC.S.E04 " + "&& !PCC.S.E05 && !PCC.S.E06 && !PCC.S.E07 && !PCC.S.E08 && !PCC.S.E09 && !PCC.S.E0a && " + "!PCC.S.E0b && !PCC.S.E0c && !PCC.S.E0d && !PCC.S.E0e && !PCC.S.E0f && !PCC.S.E10 "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 30: { + LogStep(30, "Step 5b: TH reads from the DUT the EventList optional (SupplyVoltageLow)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 31: { + LogStep(31, "Step 5c: TH reads from the DUT the EventList optional (SupplyVoltageHigh)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 32: { + LogStep(32, "Step 5d: TH reads from the DUT the EventList optional (PowerMissingPhase)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 33: { + LogStep(33, "Step 5e: TH reads from the DUT the EventList optional (SystemPressureLow)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 34: { + LogStep(34, "Step 5f: TH reads from the DUT the EventList optional (SystemPressureHigh)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 35: { + LogStep(35, "Step 5g: TH reads from the DUT the EventList optional (DryRunning)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 36: { + LogStep(36, "Step 5h: TH reads from the DUT the EventList optional (MotorTemperatureHigh)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E06"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 37: { + LogStep(37, "Step 5i: TH reads from the DUT the EventList optional (PumpMotorFatalFailure)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E07"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 38: { + LogStep(38, "Step 5j: TH reads from the DUT the EventList optional (ElectronicTemperatureHigh)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 39: { + LogStep(39, "Step 5k: TH reads from the DUT the EventList optional (PumpBlocked)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E09"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 40: { + LogStep(40, "Step 5l: TH reads from the DUT the EventList optional (SensorFailure)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 41: { + LogStep(41, "Step 5m: TH reads from the DUT the EventList optional (ElectronicNonFatalFailure)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 42: { + LogStep(42, "Step 5n: TH reads from the DUT the EventList optional (ElectronicFatalFailure)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 43: { + LogStep(43, "Step 5o: TH reads from the DUT the EventList optional (GeneralFault)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 44: { + LogStep(44, "Step 5p: TH reads from the DUT the EventList optional (Leakage)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 45: { + LogStep(45, "Step 5q: TH reads from the DUT the EventList optional (AirDetection)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0f"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 46: { + LogStep(46, "Step 5r: TH reads from the DUT the EventList optional (TurbineOperation)attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E10"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), PumpConfigurationAndControl::Id, + PumpConfigurationAndControl::Attributes::EventList::Id, true, chip::NullOptional); + } + case 47: { + LogStep(47, + "Step 5s: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 48: { + LogStep(48, "Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -57404,8 +60490,8 @@ class Test_TC_PCC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 29: { - LogStep(29, + case 49: { + LogStep(49, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -58534,7 +61620,7 @@ class Test_TC_PCC_2_4Suite : public TestCommand class Test_TC_PSCFG_1_1Suite : public TestCommand { public: - Test_TC_PSCFG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_1_1", 6, credsIssuerConfig) + Test_TC_PSCFG_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_PSCFG_1_1", 8, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -58598,12 +61684,27 @@ class Test_TC_PSCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 4: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -58615,7 +61716,7 @@ class Test_TC_PSCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 5: + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -58627,6 +61728,10 @@ class Test_TC_PSCFG_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -58661,19 +61766,38 @@ class Test_TC_PSCFG_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), PowerSourceConfiguration::Id, PowerSourceConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 5: TH reads the AcceptedCommandList attribute from the DUT"); + LogStep(4, "Step 4: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), PowerSourceConfiguration::Id, - PowerSourceConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + PowerSourceConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 6: TH reads the GeneratedCommandList attribute from the DUT"); + LogStep(5, "Step 5: TH reads the AcceptedCommandList attribute from the DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), PowerSourceConfiguration::Id, + PowerSourceConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 6: TH reads the GeneratedCommandList attribute from the DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), PowerSourceConfiguration::Id, PowerSourceConfiguration::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 7: { + LogStep(7, + "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " + "manufacturer specific event IDs."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -58763,7 +61887,7 @@ class Test_TC_PSCFG_2_1Suite : public TestCommand class Test_TC_RH_1_1Suite : public TestCommand { public: - Test_TC_RH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_RH_1_1", 7, credsIssuerConfig) + Test_TC_RH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_RH_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -58829,6 +61953,7 @@ class Test_TC_RH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -58840,10 +61965,26 @@ class Test_TC_RH_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -58855,7 +61996,7 @@ class Test_TC_RH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 6: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -58867,6 +62008,10 @@ class Test_TC_RH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -58901,25 +62046,44 @@ class Test_TC_RH_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("RH.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 5: Read the global attribute: AcceptedCommandList"); + LogStep(5, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("RH.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, - RelativeHumidityMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + RelativeHumidityMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 6: Read the global attribute: GeneratedCommandList"); + LogStep(6, "Step 5: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, + RelativeHumidityMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 6: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RelativeHumidityMeasurement::Id, RelativeHumidityMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 8: { + LogStep(8, + "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " + "manufacturer specific event IDs."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -59065,7 +62229,7 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand { public: Test_TC_SMOKECO_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_SMOKECO_1_1", 18, credsIssuerConfig) + TestCommand("Test_TC_SMOKECO_1_1", 25, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -59233,6 +62397,73 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand } break; case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + } + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + } + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + } + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + } + break; + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -59244,7 +62475,7 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 16: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -59253,7 +62484,7 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 17: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -59370,19 +62601,61 @@ class Test_TC_SMOKECO_1_1Suite : public TestCommand true, chip::NullOptional); } case 15: { - LogStep(15, "TH reads from the DUT the AcceptedCommandList attribute"); + LogStep(15, "TH reads from the DUT the EventList attribute"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 16: { + LogStep(16, "TH reads from the DUT the EventList attribute(SmokeAlarm)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 17: { + LogStep(17, "TH reads from the DUT the EventList attribute(COAlarm)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 18: { + LogStep(18, "TH reads from the DUT the EventList attribute(AlarmMuted)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E06"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 19: { + LogStep(19, "TH reads from the DUT the EventList attribute(MuteEnded)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E07"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 20: { + LogStep(20, "TH reads from the DUT the EventList attribute(InterconnectSmokeAlarm)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 21: { + LogStep(21, "TH reads from the DUT the EventList attribute(InterconnectCOAlarm)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E09"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 22: { + LogStep(22, "TH reads from the DUT the AcceptedCommandList attribute"); VerifyOrDo(!ShouldSkip("!SMOKECO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "TH reads from the DUT the AcceptedCommandList attribute"); + case 23: { + LogStep(23, "TH reads from the DUT the AcceptedCommandList attribute"); VerifyOrDo(!ShouldSkip("SMOKECO.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "TH reads from the DUT the GeneratedCommandList attribute"); + case 24: { + LogStep(24, "TH reads from the DUT the GeneratedCommandList attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), SmokeCoAlarm::Id, SmokeCoAlarm::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -63596,7 +66869,7 @@ class Test_TC_SMOKECO_2_6Suite : public TestCommand class Test_TC_SWTCH_1_1Suite : public TestCommand { public: - Test_TC_SWTCH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_1_1", 12, credsIssuerConfig) + Test_TC_SWTCH_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_SWTCH_1_1", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -63728,12 +67001,106 @@ class Test_TC_SWTCH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + } + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + } + break; + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -63745,7 +67112,7 @@ class Test_TC_SWTCH_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 11: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -63829,17 +67196,71 @@ class Test_TC_SWTCH_1_1Suite : public TestCommand } case 9: { LogStep(9, "Step 4b: Read the global attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("!SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 6: Read the global attribute: AcceptedCommandList"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AcceptedCommandList::Id, true, + LogStep(10, "Step 4b: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 7: Read the global attribute: GeneratedCommandList"); + LogStep(11, "Step 5a: Read the global attribute: EventList "); + VerifyOrDo(!ShouldSkip("!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 12: { + LogStep(12, "Step 5b: Read EventList if SWTCH.S.F00(LS)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 13: { + LogStep(13, "Step 5c: Read EventList if SWTCH.S.F01(MS) & !SWTCH.S.F02(MSR)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && !SWTCH.S.F02"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 14: { + LogStep(14, "Step 5d: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)"); + VerifyOrDo(!ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 15: { + LogStep(15, "Step 5e: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & !SWTCH.S.F04(MSM)"); + VerifyOrDo(!ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && !SWTCH.S.F04 "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 16: { + LogStep(16, "Step 5f: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & !SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) "); + VerifyOrDo(!ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && SWTCH.S.F04 "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 17: { + LogStep(17, "Step 5g: Read EventList if SWTCH.S.F01(MS) & SWTCH.S.F02(MSR) & SWTCH.S.F03(MSL) & SWTCH.S.F04(MSM) "); + VerifyOrDo(!ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && SWTCH.S.F04 "), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 18: { + LogStep(18, "Step 6: Read the global attribute: AcceptedCommandList"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::AcceptedCommandList::Id, true, + chip::NullOptional); + } + case 19: { + LogStep(19, "Step 7: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Switch::Id, Switch::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -63968,7 +67389,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand { public: Test_TC_RVCOPSTATE_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_RVCOPSTATE_1_1", 11, credsIssuerConfig) + TestCommand("Test_TC_RVCOPSTATE_1_1", 15, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -64036,6 +67457,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -64047,10 +67469,50 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64060,7 +67522,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 6: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64070,7 +67532,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 7: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64079,7 +67541,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 8: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64089,7 +67551,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 9: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64101,7 +67563,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64144,49 +67606,84 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 6a: Read the optional command(Pause) in AcceptedCommandList"); + LogStep(5, "Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, + RvcOperationalState::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 6: { + LogStep(6, "Step 5a: TH reads from the DUT the EventList attribute."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, + RvcOperationalState::Attributes::EventList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 5b: TH reads from the DUT the optional event(OperationCompletion) in EventList."); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && RVCOPSTATE.S.E01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, + RvcOperationalState::Attributes::EventList::Id, true, chip::NullOptional); + } + case 8: { + LogStep(8, + "Step 5c: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 9: { + LogStep(9, "Step 6a: Read the optional command(Pause) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); + case 10: { + LogStep(10, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 6c: Read the optional command(Start) in AcceptedCommandList"); + case 11: { + LogStep(11, "Step 6c: Read the optional command(Start) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); + case 12: { + LogStep(12, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C03.Rsp || RVCOPSTATE.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 7: Read the global attribute: GeneratedCommandList"); + case 13: { + LogStep(13, "Step 7: Read the global attribute: GeneratedCommandList"); VerifyOrDo( !ShouldSkip(" !RVCOPSTATE.S.C00.Rsp && !RVCOPSTATE.S.C01.Rsp && !RVCOPSTATE.S.C02.Rsp && !RVCOPSTATE.S.C03.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 7: Read the global attribute: GeneratedCommandList"); + case 14: { + LogStep(14, "Step 7: Read the global attribute: GeneratedCommandList"); VerifyOrDo( !ShouldSkip(" RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp || RVCOPSTATE.S.C03.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -64201,7 +67698,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand class Test_TC_TMP_1_1Suite : public TestCommand { public: - Test_TC_TMP_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TMP_1_1", 7, credsIssuerConfig) + Test_TC_TMP_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TMP_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -64267,6 +67764,7 @@ class Test_TC_TMP_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -64278,10 +67776,26 @@ class Test_TC_TMP_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64293,7 +67807,7 @@ class Test_TC_TMP_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 6: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64305,6 +67819,10 @@ class Test_TC_TMP_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -64339,25 +67857,44 @@ class Test_TC_TMP_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); - VerifyOrDo(!ShouldSkip("TMP.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(4, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 5: Read AcceptedCommandList attribute from the DUT"); + LogStep(5, "Step 4b: Read the optional attribute(Tolerance) in AttributeList"); + VerifyOrDo(!ShouldSkip("TMP.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, - TemperatureMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + TemperatureMeasurement::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 6: Read GeneratedCommandList attribute from the DUT"); + LogStep(6, "Step 5: Read AcceptedCommandList attribute from the DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, + TemperatureMeasurement::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 6: Read GeneratedCommandList attribute from the DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), TemperatureMeasurement::Id, TemperatureMeasurement::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 8: { + LogStep(8, + "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " + "manufacturer specific event IDs."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -64502,7 +68039,7 @@ class Test_TC_TMP_2_1Suite : public TestCommand class Test_TC_TSTAT_1_1Suite : public TestCommand { public: - Test_TC_TSTAT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_1_1", 57, credsIssuerConfig) + Test_TC_TSTAT_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSTAT_1_1", 59, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -64626,6 +68163,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 28UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -64637,7 +68175,14 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 27UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 28UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 12: @@ -64646,7 +68191,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; case 13: @@ -64655,7 +68200,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; case 14: @@ -64664,7 +68209,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 15: @@ -64673,10 +68218,19 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); + } + break; + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64687,7 +68241,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 25UL)); } break; - case 17: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64698,7 +68252,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 34UL)); } break; - case 18: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64709,7 +68263,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 54UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64720,7 +68274,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 57UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64729,7 +68283,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64738,7 +68292,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64747,7 +68301,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64756,7 +68310,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64765,7 +68319,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 29UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64774,7 +68328,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 35UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64783,7 +68337,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 36UL)); } break; - case 27: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64792,7 +68346,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 37UL)); } break; - case 28: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64801,7 +68355,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; - case 29: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64810,7 +68364,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 48UL)); } break; - case 30: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64819,7 +68373,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 49UL)); } break; - case 31: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64828,7 +68382,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 50UL)); } break; - case 32: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64837,7 +68391,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 58UL)); } break; - case 33: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64846,7 +68400,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 64UL)); } break; - case 34: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64855,7 +68409,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 65UL)); } break; - case 35: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64864,7 +68418,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 66UL)); } break; - case 36: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64873,7 +68427,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 67UL)); } break; - case 37: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64882,7 +68436,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 68UL)); } break; - case 38: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64891,7 +68445,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 69UL)); } break; - case 39: + case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64900,7 +68454,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 70UL)); } break; - case 40: + case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64909,7 +68463,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 71UL)); } break; - case 41: + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64918,7 +68472,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 42: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64927,7 +68481,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 43: + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64936,7 +68490,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 44: + case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64945,7 +68499,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; - case 45: + case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64954,7 +68508,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); } break; - case 46: + case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64963,7 +68517,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 47: + case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64972,7 +68526,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 48: + case 49: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64981,7 +68535,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 49: + case 50: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64990,7 +68544,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); } break; - case 50: + case 51: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -64999,7 +68553,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 24UL)); } break; - case 51: + case 52: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -65008,7 +68562,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 30UL)); } break; - case 52: + case 53: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -65020,7 +68574,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 53: + case 54: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -65029,7 +68583,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 54: + case 55: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -65041,7 +68595,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 55: + case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -65050,7 +68604,7 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 56: + case 57: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -65059,6 +68613,10 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; + case 58: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -65142,285 +68700,304 @@ class Test_TC_TSTAT_1_1Suite : public TestCommand } case 10: { LogStep(10, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 19: { - LogStep(19, "Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F04 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "Step 4k: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F04 && TSTAT.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 21: { - LogStep(21, "Step 4l: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(21, "Step 4k: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 22: { - LogStep(22, "Step 4m: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "Step 4l: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0009"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 23: { - LogStep(23, "Step 4n: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(23, "Step 4m: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0010"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 24: { - LogStep(24, "Step 4o: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A001d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(24, "Step 4n: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 25: { - LogStep(25, "Step 4p: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(25, "Step 4o: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A001d"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 26: { - LogStep(26, "Step 4q: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(26, "Step 4p: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 27: { - LogStep(27, "Step 4r: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 4q: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 4s: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(28, "Step 4r: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0025"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 29: { - LogStep(29, "Step 4t: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(29, "Step 4s: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 30: { - LogStep(30, "Step 4u: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(30, "Step 4t: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0030"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 31: { - LogStep(31, "Step 4x: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(31, "Step 4u: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0031"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 32: { - LogStep(32, "Step 5y: Read the optional attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(32, "Step 4x: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0032"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 33: { - LogStep(33, "Step 4z: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0040"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(33, "Step 5y: Read the optional attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 34: { - LogStep(34, "Step 4A: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0041"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(34, "Step 4z: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0040"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 35: { - LogStep(35, "Step 4B: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0042"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(35, "Step 4A: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0041"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 36: { - LogStep(36, "Step 4C: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0043"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(36, "Step 4B: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0042"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 37: { - LogStep(37, "Step 5D: Read the optional attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0044"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(37, "Step 4C: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0043"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 38: { - LogStep(38, "Step 4E: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0045"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(38, "Step 5D: Read the optional attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0044"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 39: { - LogStep(39, "Step 4F: Read the optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0046"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(39, "Step 4E: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0045"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 40: { - LogStep(40, "Step 5G: Read the optional attribute: AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.A0047"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(40, "Step 4F: Read the optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0046"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 41: { - LogStep(41, "Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(41, "Step 5G: Read the optional attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.A0047"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 42: { - LogStep(42, "Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(42, "Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 43: { - LogStep(43, "Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(43, "Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 44: { - LogStep(44, "Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(44, "Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0008"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 45: { - LogStep(45, "Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(45, "Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 46: { - LogStep(46, "Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(46, "Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 47: { - LogStep(47, "Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(47, "Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 48: { - LogStep(48, "Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + LogStep(48, "Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 49: { - LogStep(49, "Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(49, "Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 50: { - LogStep(50, "Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(50, "Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 51: { - LogStep(51, "Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.A001e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(51, "Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, chip::NullOptional); } case 52: { - LogStep(52, "Step 5a: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList"); + LogStep(52, "Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("TSTAT.S.F05 && TSTAT.S.A001e"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 53: { + LogStep(53, "Step 5a: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 53: { - LogStep(53, "Step 5b: Read the optional attribute: AcceptedCommandList"); + case 54: { + LogStep(54, "Step 5b: Read the optional attribute: AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TSTAT.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 54: { - LogStep(54, "Step 6a: Read the global attribute: GeneratedCommandList"); + case 55: { + LogStep(55, "Step 6a: Read the global attribute: GeneratedCommandList"); VerifyOrDo(!ShouldSkip(" !TSTAT.S.C04.Rsp && !TSTAT.S.C02.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 55: { - LogStep(55, "Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList"); + case 56: { + LogStep(56, "Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("TSTAT.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 56: { - LogStep(56, "Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList"); + case 57: { + LogStep(57, "Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("TSTAT.S.C04.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Thermostat::Id, Thermostat::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 58: { + LogStep(58, + "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " + "manufacturer specific event IDs."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -66597,7 +70174,7 @@ class Test_TC_TSTAT_2_1Suite : public TestCommand class Test_TC_TSUIC_1_1Suite : public TestCommand { public: - Test_TC_TSUIC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSUIC_1_1", 9, credsIssuerConfig) + Test_TC_TSUIC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_TSUIC_1_1", 11, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -66663,6 +70240,7 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -66670,9 +70248,25 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66684,11 +70278,11 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 6: + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 7: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -66700,7 +70294,11 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 8: + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -66737,12 +70335,19 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand ThermostatUserInterfaceConfiguration::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 3: { - LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + LogStep(3, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ThermostatUserInterfaceConfiguration::Id, ThermostatUserInterfaceConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, + LogStep(4, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ThermostatUserInterfaceConfiguration::Id, + ThermostatUserInterfaceConfiguration::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 5: { + LogStep(5, "Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -66757,14 +70362,14 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 5: { - LogStep(5, "Step 5a: Read the global attribute: AcceptedCommandList"); + case 6: { + LogStep(6, "Step 5a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ThermostatUserInterfaceConfiguration::Id, ThermostatUserInterfaceConfiguration::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 6: { - LogStep(6, + case 7: { + LogStep(7, "Step 5b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -66779,14 +70384,14 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 7: { - LogStep(7, "Step 6a: Read the global attribute: GeneratedCommandList"); + case 8: { + LogStep(8, "Step 6a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ThermostatUserInterfaceConfiguration::Id, ThermostatUserInterfaceConfiguration::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, + case 9: { + LogStep(9, "Step 6b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -66801,6 +70406,18 @@ class Test_TC_TSUIC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } + case 10: { + LogStep(10, + "Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but it can contain " + "manufacturer specific event IDs."); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } } return CHIP_NO_ERROR; } @@ -67491,7 +71108,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand { public: Test_TC_DGTHREAD_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_DGTHREAD_1_1", 19, credsIssuerConfig) + TestCommand("Test_TC_DGTHREAD_1_1", 24, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -67607,6 +71224,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 62UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -67618,10 +71236,40 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 59UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 60UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 61UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 62UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + } + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67637,7 +71285,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67679,7 +71327,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 55UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67688,7 +71336,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 56UL)); } break; - case 12: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67697,7 +71345,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 57UL)); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67706,7 +71354,41 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 58UL)); } break; - case 14: + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67718,7 +71400,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 15: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67727,11 +71409,11 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 16: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 17: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67743,7 +71425,7 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 18: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -67807,59 +71489,101 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand } case 7: { LogStep(7, "Step 4a: TH reads mandatory attributes in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4b: TH reads Feature dependent attribute(DGTHREAD.S.F01(ERRCNT)) in attributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0006 && DGTHREAD.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4a: TH reads mandatory attributes in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4c: TH reads Feature dependent attribute (DGTHREAD.S.F02(MLECNT)) in attributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4b: TH reads Feature dependent attribute(DGTHREAD.S.F01(ERRCNT)) in attributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0006 && DGTHREAD.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4d: TH reads Feature dependent attribute (DGTHREAD.S.F03(MACCNT)) in attributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4c: TH reads Feature dependent attribute (DGTHREAD.S.F02(MLECNT)) in attributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4e: Read the optional attribute (ActiveTimestamp) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4d: TH reads Feature dependent attribute (DGTHREAD.S.F03(MACCNT)) in attributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4f: Read the optional attribute (PendingTimestamp) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0039"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4e: Read the optional attribute (ActiveTimestamp) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0038"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4g: Read the optional attribute (Delay) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGTHREAD.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4f: Read the optional attribute (PendingTimestamp) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A0039"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 6a: TH reads AcceptedCommandList from DUT"); + LogStep(14, "Step 4g: Read the optional attribute (Delay) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.A003a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, + ThreadNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 15: { + LogStep(15, "Step 5a: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip(" !DGTHREAD.S.E00 && !DGTHREAD.S.E01 && PICS_EVENT_LIST_ENABLED"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, + ThreadNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 16: { + LogStep(16, "Step 5b: TH reads DGTHREAD.S.E00(ConnectionStatus) event in EventList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.E00 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, + ThreadNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 17: { + LogStep(17, "Step 5c: TH reads DGTHREAD.S.E01(NetworkFaultChange) event in EventList"); + VerifyOrDo(!ShouldSkip("DGTHREAD.S.E01 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, + ThreadNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 18: { + LogStep(18, + "Step 5d: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 19: { + LogStep(19, "Step 6a: TH reads AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip(" !DGTHREAD.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 6b: TH reads AcceptedCommandList from DUT"); + case 20: { + LogStep(20, "Step 6b: TH reads AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip("DGTHREAD.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, + case 21: { + LogStep(21, "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -67873,13 +71597,13 @@ class Test_TC_DGTHREAD_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 17: { - LogStep(17, "Step 7a: TH reads GeneratedCommandList from DUT"); + case 22: { + LogStep(22, "Step 7a: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), ThreadNetworkDiagnostics::Id, ThreadNetworkDiagnostics::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, + case 23: { + LogStep(23, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -69256,7 +72980,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand { public: Test_TC_TIMESYNC_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_TIMESYNC_1_1", 33, credsIssuerConfig) + TestCommand("Test_TC_TIMESYNC_1_1", 40, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -69382,6 +73106,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -69392,7 +73117,13 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 12: @@ -69400,10 +73131,18 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand { chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckConstraintExcludes("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintExcludes("value", value, 2UL)); + } + break; + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69416,7 +73155,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 14: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69429,7 +73168,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 11UL)); } break; - case 15: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69438,7 +73177,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; - case 16: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69447,7 +73186,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 12UL)); } break; - case 17: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69455,7 +73194,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 9UL)); } break; - case 18: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69463,7 +73202,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 9UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69471,7 +73210,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69479,11 +73218,59 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 22: + case 23: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 24: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; + case 25: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintExcludes("value", value, 0UL)); + VerifyOrReturn(CheckConstraintExcludes("value", value, 1UL)); + VerifyOrReturn(CheckConstraintExcludes("value", value, 2UL)); + } + break; + case 26: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + } + break; + case 27: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); + } + break; + case 28: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69491,7 +73278,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 23: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69500,7 +73287,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 24: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69509,7 +73296,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 4UL)); } break; - case 25: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69517,7 +73304,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 26: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69525,7 +73312,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 5UL)); } break; - case 27: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69533,7 +73320,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 28: + case 35: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69541,11 +73328,11 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 1UL)); } break; - case 29: + case 36: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 30: + case 37: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69553,7 +73340,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 31: + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -69561,7 +73348,7 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); } break; - case 32: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -69642,71 +73429,78 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand } case 10: { LogStep(10, "TS4: Check for mandatory attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "TS4: Check for optional attribute TimeSource in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "TS4: Check for mandatory attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "TS4: Check for optional attribute TimeSource not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "TS4: Check for optional attribute TimeSource in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "TS4: Check for TZ feature-based attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "TS4: Check for optional attribute TimeSource not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "TS4: Check for TZ feature-based attributes not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(14, "TS4: Check for TZ feature-based attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "TS4: Check for NTPC feature-based attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "TS4: Check for TZ feature-based attributes not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "TS4: Check for NTPC feature-based attributes not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "TS4: Check for NTPC feature-based attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "TS4: Check for NTPS feature-based attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "TS4: Check for NTPC feature-based attributes not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "TS4: Check for NTPS feature-based attributes not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "TS4: Check for NTPS feature-based attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 19: { - LogStep(19, "TS4: Check for TSC feature-based attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "TS4: Check for NTPS feature-based attributes not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "TS4: Check for TSC feature-based attributes not in AttributeList"); - VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "TS4: Check for TSC feature-based attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); } case 21: { - LogStep(21, + LogStep(21, "TS4: Check for TSC feature-based attributes not in AttributeList"); + VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, + TimeSynchronization::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 22: { + LogStep(22, "TS4: Check for mandatory attributes in AttributeList. 1.The list SHALL NOT contain any additional values in " "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY " "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " @@ -69721,49 +73515,95 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 22: { - LogStep(22, "TS6: Check for mandatory commands in AcceptedCommandList"); + case 23: { + LogStep(23, "TS5: Check for mandatory events in EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, + TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); + } + case 24: { + LogStep(24, "TS5: Check for TZ feature-based events in EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, + TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); + } + case 25: { + LogStep(25, "TS5: Check for TZ feature-based events not in EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, + TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); + } + case 26: { + LogStep(26, "TS5: Check for TSC feature-based events in EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, + TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); + } + case 27: { + LogStep(27, "TS5: Check for TSC feature-based events not in EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, + TimeSynchronization::Attributes::EventList::Id, true, chip::NullOptional); + } + case 28: { + LogStep(28, + "TS5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in the " + "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values " + "in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) " + "and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 29: { + LogStep(29, "TS6: Check for mandatory commands in AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 23: { - LogStep(23, "TS6: Check for TZ feature-based commands in AcceptedCommandList"); + case 30: { + LogStep(30, "TS6: Check for TZ feature-based commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 24: { - LogStep(24, "TS6: Check for TZ feature-based commands in not AcceptedCommandList"); + case 31: { + LogStep(31, "TS6: Check for TZ feature-based commands in not AcceptedCommandList"); VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 25: { - LogStep(25, "TS6: Check for NTPC feature-based commands in AcceptedCommandList"); + case 32: { + LogStep(32, "TS6: Check for NTPC feature-based commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 26: { - LogStep(26, "TS6: Check for NTPC feature-based commands in not AcceptedCommandList"); + case 33: { + LogStep(33, "TS6: Check for NTPC feature-based commands in not AcceptedCommandList"); VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 27: { - LogStep(27, "TS6: Check for TSC feature-based commands in AcceptedCommandList"); + case 34: { + LogStep(34, "TS6: Check for TSC feature-based commands in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 28: { - LogStep(28, "TS6: Check for TSC feature-based commands in not AcceptedCommandList"); + case 35: { + LogStep(35, "TS6: Check for TSC feature-based commands in not AcceptedCommandList"); VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 29: { - LogStep(29, + case 36: { + LogStep(36, "TS6: Check for mandatory commands in AcceptedCommandList. 1. The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -69778,20 +73618,20 @@ class Test_TC_TIMESYNC_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 30: { - LogStep(30, "TS7: Check for TZ feature-based commands in GeneratedCommandList"); + case 37: { + LogStep(37, "TS7: Check for TZ feature-based commands in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 31: { - LogStep(31, "TS7: Check for TZ feature-based commands in not GeneratedCommandList"); + case 38: { + LogStep(38, "TS7: Check for TZ feature-based commands in not GeneratedCommandList"); VerifyOrDo(!ShouldSkip("!TIMESYNC.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), TimeSynchronization::Id, TimeSynchronization::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 32: { - LogStep(32, + case 39: { + LogStep(39, "TS7: Check for mandatory commands in GeneratedCommandList. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -69980,7 +73820,7 @@ class Test_TC_TIMESYNC_2_3Suite : public TestCommand class Test_TC_ULABEL_1_1Suite : public TestCommand { public: - Test_TC_ULABEL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ULABEL_1_1", 7, credsIssuerConfig) + Test_TC_ULABEL_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_ULABEL_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70044,6 +73884,7 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -70051,7 +73892,17 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand break; case 4: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } break; case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); @@ -70061,6 +73912,14 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -70095,11 +73954,18 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand } case 3: { LogStep(3, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), UserLabel::Id, UserLabel::Attributes::AttributeList::Id, true, chip::NullOptional); } case 4: { - LogStep(4, + LogStep(4, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), UserLabel::Id, UserLabel::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 5: { + LogStep(5, "Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -70114,8 +73980,23 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 5: { - LogStep(5, + case 6: { + LogStep(6, + "Step 5: Read the global attribute: EventList. 1.The list MAY contain values in the Manufacturer Extensible " + "Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), " + "these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid range: " + "(0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 7: { + LogStep(7, "Step 6: Read the global attribute: AcceptedCommandList. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -70129,8 +74010,8 @@ class Test_TC_ULABEL_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 6: { - LogStep(6, + case 8: { + LogStep(8, "Step 7: Read the global attribute: GeneratedCommandList. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -70638,7 +74519,7 @@ class Test_TC_ULABEL_2_4Suite : public TestCommand class Test_TC_DGWIFI_1_1Suite : public TestCommand { public: - Test_TC_DGWIFI_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGWIFI_1_1", 12, credsIssuerConfig) + Test_TC_DGWIFI_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGWIFI_1_1", 17, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -70724,12 +74605,31 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -70742,7 +74642,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); } break; - case 7: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -70752,7 +74652,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -70761,7 +74661,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 11UL)); } break; - case 9: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -70773,7 +74673,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -70782,7 +74682,7 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -70794,6 +74694,45 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + } + break; default: LogErrorOnFailure(ContinueOnChipMainThread(CHIP_ERROR_INVALID_ARGUMENT)); } @@ -70841,44 +74780,76 @@ class Test_TC_DGWIFI_1_1Suite : public TestCommand } case 5: { LogStep(5, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4b: TH reads Feature dependent(DGWIFI.S.F00) attributes in attributeList from DUT"); - VerifyOrDo(!ShouldSkip("DGWIFI.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4c: TH reads Feature dependent(DGWIFI.S.F01) attributes in attributeList from DUT"); - VerifyOrDo(!ShouldSkip("DGWIFI.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4b: TH reads Feature dependent(DGWIFI.S.F00) attributes in attributeList from DUT"); + VerifyOrDo(!ShouldSkip("DGWIFI.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4d: TH reads optional attribute (CurrentMaxRate) in AttributeList from DUT"); - VerifyOrDo(!ShouldSkip("DGWIFI.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4c: TH reads Feature dependent(DGWIFI.S.F01) attributes in attributeList from DUT"); + VerifyOrDo(!ShouldSkip("DGWIFI.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 5a: TH reads AcceptedCommandList from DUT"); + LogStep(9, "Step 4d: TH reads optional attribute (CurrentMaxRate) in AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("DGWIFI.S.A000b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, + WiFiNetworkDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 10: { + LogStep(10, "Step 5a: TH reads AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip(" !DGWIFI.S.F01 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 5b: TH reads Feature dependent(DGWIFI.S.F01) command in AcceptedCommandList from DUT"); + case 11: { + LogStep(11, "Step 5b: TH reads Feature dependent(DGWIFI.S.F01) command in AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip("DGWIFI.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 6: TH reads GeneratedCommandList from DUT"); + case 12: { + LogStep(12, "Step 6: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, WiFiNetworkDiagnostics::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } + case 13: { + LogStep(13, "Step 7a: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip(" !DGWIFI.S.E00 && !DGWIFI.S.E01 && !DGWIFI.S.E02 && PICS_EVENT_LIST_ENABLED"), + return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, + WiFiNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 14: { + LogStep(14, "Step 7b: TH reads optional attribute (Disconnection) in EventList from DUT"); + VerifyOrDo(!ShouldSkip("DGWIFI.S.E00 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, + WiFiNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 15: { + LogStep(15, "Step 7c: TH reads optional attribute (AssociationFailure) in EventList from DUT"); + VerifyOrDo(!ShouldSkip("DGWIFI.S.E01 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, + WiFiNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 16: { + LogStep(16, "Step 7d: TH reads optional attribute (ConnectionStatus) in EventList from DUT"); + VerifyOrDo(!ShouldSkip("DGWIFI.S.E02 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), WiFiNetworkDiagnostics::Id, + WiFiNetworkDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } } return CHIP_NO_ERROR; } @@ -71336,7 +75307,7 @@ class Test_TC_DGWIFI_2_3Suite : public TestCommand class Test_TC_WNCV_1_1Suite : public TestCommand { public: - Test_TC_WNCV_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_WNCV_1_1", 19, credsIssuerConfig) + Test_TC_WNCV_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_WNCV_1_1", 21, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -71451,6 +75422,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -71462,10 +75434,28 @@ class Test_TC_WNCV_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 23UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); + } + break; + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71475,7 +75465,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 17UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71485,7 +75475,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 14UL)); } break; - case 12: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71495,7 +75485,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; - case 13: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71505,7 +75495,19 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); } break; - case 14: + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71516,7 +75518,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 15: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71525,7 +75527,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 16: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71534,7 +75536,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); } break; - case 17: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71543,7 +75545,7 @@ class Test_TC_WNCV_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 8UL)); } break; - case 18: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -71621,64 +75623,77 @@ class Test_TC_WNCV_1_1Suite : public TestCommand } case 8: { LogStep(8, "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.A001a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, "Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(11, "Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 12: { - LogStep(12, "Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(12, "Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 13: { - LogStep(13, "Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(13, "Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, true, chip::NullOptional); } case 14: { - LogStep(14, "Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute"); + LogStep(14, "Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 15: { + LogStep(15, "Step 5: Read the global attribute: EventList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::EventList::Id, + true, chip::NullOptional); + } + case 16: { + LogStep(16, "Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in AcceptedCommandList"); + case 17: { + LogStep(17, "Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("WNCV.S.F00 && WNCV.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, "Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in AcceptedCommandList"); + case 18: { + LogStep(18, "Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F03"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in AcceptedCommandList"); + case 19: { + LogStep(19, "Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("WNCV.S.F01 && WNCV.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 18: { - LogStep(18, "Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute"); + case 20: { + LogStep(20, "Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), WindowCovering::Id, WindowCovering::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -97743,7 +101758,7 @@ class TestMultiAdminSuite : public TestCommand class Test_TC_DGSW_1_1Suite : public TestCommand { public: - Test_TC_DGSW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGSW_1_1", 14, credsIssuerConfig) + Test_TC_DGSW_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DGSW_1_1", 18, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -97815,6 +101830,7 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -97826,7 +101842,11 @@ class Test_TC_DGSW_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: @@ -97835,7 +101855,7 @@ class Test_TC_DGSW_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; case 7: @@ -97844,7 +101864,7 @@ class Test_TC_DGSW_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; case 8: @@ -97853,14 +101873,48 @@ class Test_TC_DGSW_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } break; case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + } + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -97869,7 +101923,7 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 11: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -97881,11 +101935,11 @@ class Test_TC_DGSW_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 12: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 13: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -97930,35 +101984,42 @@ class Test_TC_DGSW_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGSW.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGSW.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(6, "Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGSW.S.A0000"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList"); - VerifyOrDo(!ShouldSkip("DGSW.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGSW.S.A0001"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList"); - VerifyOrDo(!ShouldSkip("( DGSW.S.F00 || DGSW.S.A0003 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList"); + VerifyOrDo(!ShouldSkip("DGSW.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, + LogStep(9, "Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList"); + VerifyOrDo(!ShouldSkip("( DGSW.S.F00 || DGSW.S.A0003 )"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, + SoftwareDiagnostics::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 10: { + LogStep(10, "Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -97973,20 +102034,48 @@ class Test_TC_DGSW_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 10: { - LogStep(10, "Step 6a: TH reads AcceptedCommandList from DUT"); + case 11: { + LogStep(11, "Step 5a: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip("DGSW.S.E00 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, + SoftwareDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 12: { + LogStep(12, "Step 5b: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip(" !DGSW.S.E00 && PICS_EVENT_LIST_ENABLED "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, + SoftwareDiagnostics::Attributes::EventList::Id, true, chip::NullOptional); + } + case 13: { + LogStep(13, + "Step 5c: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 14: { + LogStep(14, "Step 6a: TH reads AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip("DGSW.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 6b: TH reads AcceptedCommandList from DUT"); + case 15: { + LogStep(15, "Step 6b: TH reads AcceptedCommandList from DUT"); VerifyOrDo(!ShouldSkip(" !DGSW.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(0), SoftwareDiagnostics::Id, SoftwareDiagnostics::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, + case 16: { + LogStep(16, "Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -98001,8 +102090,8 @@ class Test_TC_DGSW_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 13: { - LogStep(13, + case 17: { + LogStep(17, "Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -105572,7 +109661,7 @@ class DL_SchedulesSuite : public TestCommand class Test_TC_DRLK_1_1Suite : public TestCommand { public: - Test_TC_DRLK_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_1_1", 45, credsIssuerConfig) + Test_TC_DRLK_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_DRLK_1_1", 49, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -105739,6 +109828,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -105750,10 +109840,28 @@ class Test_TC_DRLK_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 37UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105764,7 +109872,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 28UL)); } break; - case 17: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105775,7 +109883,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 24UL)); } break; - case 18: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105786,7 +109894,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 26UL)); } break; - case 19: + case 20: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105795,7 +109903,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 20UL)); } break; - case 20: + case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105804,7 +109912,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 21UL)); } break; - case 21: + case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105813,7 +109921,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 22UL)); } break; - case 22: + case 23: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105823,7 +109931,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 49UL)); } break; - case 23: + case 24: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105832,7 +109940,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 51UL)); } break; - case 24: + case 25: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105841,7 +109949,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 33UL)); } break; - case 25: + case 26: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105850,7 +109958,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 34UL)); } break; - case 26: + case 27: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105859,7 +109967,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 35UL)); } break; - case 27: + case 28: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105868,7 +109976,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 36UL)); } break; - case 28: + case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105877,7 +109985,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 39UL)); } break; - case 29: + case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105886,7 +109994,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 40UL)); } break; - case 30: + case 31: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105895,7 +110003,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; - case 31: + case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105904,7 +110012,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 32: + case 33: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105913,7 +110021,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 43UL)); } break; - case 33: + case 34: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105922,7 +110030,36 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 44UL)); } break; - case 34: + case 35: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + } + break; + case 36: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + } + break; + case 37: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + } + break; + case 38: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105932,7 +110069,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); } break; - case 35: + case 39: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105943,7 +110080,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 13UL)); } break; - case 36: + case 40: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105954,7 +110091,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 16UL)); } break; - case 37: + case 41: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105965,7 +110102,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 19UL)); } break; - case 38: + case 42: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105974,7 +110111,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 39UL)); } break; - case 39: + case 43: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105988,7 +110125,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 38UL)); } break; - case 40: + case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -105997,7 +110134,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 41: + case 45: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -106006,7 +110143,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 12UL)); } break; - case 42: + case 46: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -106015,7 +110152,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 15UL)); } break; - case 43: + case 47: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -106024,7 +110161,7 @@ class Test_TC_DRLK_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 18UL)); } break; - case 44: + case 48: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -106138,184 +110275,209 @@ class Test_TC_DRLK_1_1Suite : public TestCommand } case 14: { LogStep(14, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 15: { - LogStep(15, "Step 4b: TH reads Feature dependent(DRLK.S.F05) attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(15, "Step 4a: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 16: { - LogStep(16, "Step 4c: TH reads Feature dependent(DRLK.S.F08) attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(16, "Step 4b: TH reads Feature dependent(DRLK.S.F05) attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F05"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 17: { - LogStep(17, "Step 4d: TH reads Feature dependent(DRLK.S.F00) attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(17, "Step 4c: TH reads Feature dependent(DRLK.S.F08) attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 18: { - LogStep(18, "Step 4e: TH reads Feature dependent(DRLK.S.F01) attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(18, "Step 4d: TH reads Feature dependent(DRLK.S.F00) attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 19: { - LogStep(19, "Step 4f: TH reads Feature dependent(DRLK.S.F04) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(19, "Step 4e: TH reads Feature dependent(DRLK.S.F01) attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 20: { - LogStep(20, "Step 4g: TH reads Feature dependent(DRLK.S.F0a) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F0a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(20, "Step 4f: TH reads Feature dependent(DRLK.S.F04) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 21: { - LogStep(21, "Step 4h: TH reads Feature dependent(DRLK.S.F0b) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F0b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(21, "Step 4g: TH reads Feature dependent(DRLK.S.F0a) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F0a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 22: { - LogStep(22, "Step 4i: TH reads Feature dependent(DRLK.S.F00 or DRLK.S.F01) attributes in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F00 || DRLK.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(22, "Step 4h: TH reads Feature dependent(DRLK.S.F0b) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F0b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 23: { - LogStep(23, "Step 4j: TH reads Feature dependent(DRLK.S.F07 or DRLK.S.F00) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.F07 || DRLK.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(23, "Step 4i: TH reads Feature dependent(DRLK.S.F00 or DRLK.S.F01) attributes in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F00 || DRLK.S.F01"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 24: { - LogStep(24, "Step 4k: TH reads optional attribute(Language) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(24, "Step 4j: TH reads Feature dependent(DRLK.S.F07 or DRLK.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F07 || DRLK.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 25: { - LogStep(25, "Step 4l: TH reads optional attribute(LEDSettings) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A0022"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(25, "Step 4k: TH reads optional attribute(Language) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0021"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 26: { - LogStep(26, "Step 4m: TH reads optional attribute(AutoRelockTime) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(26, "Step 4l: TH reads optional attribute(LEDSettings) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0022"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 27: { - LogStep(27, "Step 4n: TH reads optional attribute(SoundVolume) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(27, "Step 4m: TH reads optional attribute(AutoRelockTime) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0023"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 28: { - LogStep(28, "Step 4o: TH reads optional attribute(DefaultConfigurationRegister) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A0027"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(28, "Step 4n: TH reads optional attribute(SoundVolume) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0024"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 29: { - LogStep(29, "Step 4p: TH reads optional attribute(EnableLocalProgramming) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A0028"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(29, "Step 4o: TH reads optional attribute(DefaultConfigurationRegister) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0027"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 30: { - LogStep(30, "Step 4q: TH reads optional attribute(EnableOneTouchLocking) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(30, "Step 4p: TH reads optional attribute(EnableLocalProgramming) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0028"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 31: { - LogStep(31, "Step 4r: TH reads optional attribute(EnableInsideStatusLED) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A002a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(31, "Step 4q: TH reads optional attribute(EnableOneTouchLocking) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A0029"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 32: { - LogStep(32, "Step 4s: TH reads optional attribute(EnablePrivacyModeButton) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A002b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(32, "Step 4r: TH reads optional attribute(EnableInsideStatusLED) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A002a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 33: { - LogStep(33, "Step 4t: TH reads optional attribute(LocalProgrammingFeatures) in AttributeList"); - VerifyOrDo(!ShouldSkip("DRLK.S.A002c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(33, "Step 4s: TH reads optional attribute(EnablePrivacyModeButton) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A002b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 34: { - LogStep(34, "Step 6a: TH reads AcceptedCommandList from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, + LogStep(34, "Step 4t: TH reads optional attribute(LocalProgrammingFeatures) in AttributeList"); + VerifyOrDo(!ShouldSkip("DRLK.S.A002c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AttributeList::Id, true, chip::NullOptional); } case 35: { - LogStep(35, "Step 6b: TH reads Feature dependent commands(DRLK.S.F04) in AcceptedCommandList"); + LogStep(35, "Step 5a: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 36: { + LogStep(36, "Step 5b: TH reads optional event(Door position sensor) in EventList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F05 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 37: { + LogStep(37, "Step 5c: TH reads optional event(User commands and database) in EventList"); + VerifyOrDo(!ShouldSkip("DRLK.S.F08 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 38: { + LogStep(38, "Step 6a: TH reads AcceptedCommandList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, + chip::NullOptional); + } + case 39: { + LogStep(39, "Step 6b: TH reads Feature dependent commands(DRLK.S.F04) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 36: { - LogStep(36, "Step 6c: TH reads Feature dependent commands(DRLK.S.F0a) in AcceptedCommandList"); + case 40: { + LogStep(40, "Step 6c: TH reads Feature dependent commands(DRLK.S.F0a) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 37: { - LogStep(37, "Step 6d: TH reads Feature dependent commands(DRLK.S.F0b) in AcceptedCommandList"); + case 41: { + LogStep(41, "Step 6d: TH reads Feature dependent commands(DRLK.S.F0b) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 38: { - LogStep(38, "Step 6e: TH reads Feature dependent commands(DRLK.S.F0c) in AcceptedCommandList"); + case 42: { + LogStep(42, "Step 6e: TH reads Feature dependent commands(DRLK.S.F0c) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0c"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 39: { - LogStep(39, "Step 6f: TH reads Feature dependent commands(DRLK.S.F08) in AcceptedCommandList"); + case 43: { + LogStep(43, "Step 6f: TH reads Feature dependent commands(DRLK.S.F08) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 40: { - LogStep(40, "Step 6g: TH reads optional commands(DRLK.S.C03.Rsp) in AcceptedCommandList"); + case 44: { + LogStep(44, "Step 6g: TH reads optional commands(DRLK.S.C03.Rsp) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 41: { - LogStep(41, "Step 7a: TH reads Feature dependent command(DRLK.S.F04) in GeneratedCommandList"); + case 45: { + LogStep(45, "Step 7a: TH reads Feature dependent command(DRLK.S.F04) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F04"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 42: { - LogStep(42, "Step 7b: TH reads Feature dependent command(DRLK.S.F0a) in GeneratedCommandList"); + case 46: { + LogStep(46, "Step 7b: TH reads Feature dependent command(DRLK.S.F0a) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0a"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 43: { - LogStep(43, "Step 7c: TH reads Feature dependent command(DRLK.S.F0b) in GeneratedCommandList"); + case 47: { + LogStep(47, "Step 7c: TH reads Feature dependent command(DRLK.S.F0b) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F0b"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 44: { - LogStep(44, "Step 7d: TH reads Feature dependent command(DRLK.S.F08) in GeneratedCommandList"); + case 48: { + LogStep(48, "Step 7d: TH reads Feature dependent command(DRLK.S.F08) in GeneratedCommandList"); VerifyOrDo(!ShouldSkip("DRLK.S.F08"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), DoorLock::Id, DoorLock::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); @@ -110131,7 +114293,7 @@ class TestGroupsClusterSuite : public TestCommand class Test_TC_G_1_1Suite : public TestCommand { public: - Test_TC_G_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_G_1_1", 7, credsIssuerConfig) + Test_TC_G_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_G_1_1", 9, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -110204,12 +114366,39 @@ class Test_TC_G_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 5: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110223,7 +114412,7 @@ class Test_TC_G_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 6: + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110276,16 +114465,29 @@ class Test_TC_G_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 6: TH reads AcceptedCommandList from DUT"); - return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::AcceptedCommandList::Id, true, + LogStep(5, "Step 4: TH reads AttributeList from DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 7: TH reads GeneratedCommandList from DUT"); + LogStep(6, "Step 5: TH reads EventList from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 7: { + LogStep(7, "Step 6: TH reads AcceptedCommandList from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::AcceptedCommandList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Step 7: TH reads GeneratedCommandList from DUT"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Groups::Id, Groups::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } @@ -110668,7 +114870,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand { public: Test_TC_ACFREMON_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_ACFREMON_1_1", 17, credsIssuerConfig) + TestCommand("Test_TC_ACFREMON_1_1", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -110759,12 +114961,27 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110775,7 +114992,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110784,7 +115001,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 9: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110793,7 +115010,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110802,11 +115019,27 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 12: + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110818,7 +115051,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 13: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110827,11 +115060,11 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 14: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 15: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -110843,7 +115076,7 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 16: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -110901,35 +115134,42 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand } case 6: { LogStep(6, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4b: Read the feature dependent(ACFREMON.S.F00) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4a: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4c: Read the optional attribute InPlaceIndicator (ACFREMON.S.A0003) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4b: Read the feature dependent(ACFREMON.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4d: Read the optional attribute LastChangedTime (ACFREMON.S.A0004) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4c: Read the optional attribute InPlaceIndicator (ACFREMON.S.A0003) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4e: Read the optional attribute ReplacementProductList (ACFREMON.S.F02) in AttributeList"); - VerifyOrDo(!ShouldSkip("ACFREMON.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4d: Read the optional attribute LastChangedTime (ACFREMON.S.A0004) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, + LogStep(11, "Step 4e: Read the optional attribute ReplacementProductList (ACFREMON.S.F02) in AttributeList"); + VerifyOrDo(!ShouldSkip("ACFREMON.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, + ActivatedCarbonFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 12: { + LogStep(12, "Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any additional values in the " "standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -110944,21 +115184,43 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 12: { - LogStep(12, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 13: { + LogStep(13, "Step 5a: TH reads EventList attribute from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, + ActivatedCarbonFilterMonitoring::Attributes::EventList::Id, true, chip::NullOptional); + } + case 14: { + LogStep(14, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 15: { + LogStep(15, "Step 6a: Read the global attribute: AcceptedCommandList"); VerifyOrDo(!ShouldSkip("!ACFREMON.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 6a: Read the optional command (ResetCondition) in AcceptedCommandList"); + case 16: { + LogStep(16, "Step 6a: Read the optional command (ResetCondition) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("ACFREMON.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 14: { + case 17: { LogStep( - 14, + 17, "Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT contain any additional " "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " @@ -110973,14 +115235,14 @@ class Test_TC_ACFREMON_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 15: { - LogStep(15, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 18: { + LogStep(18, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), ActivatedCarbonFilterMonitoring::Id, ActivatedCarbonFilterMonitoring::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 16: { + case 19: { LogStep( - 16, + 19, "Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT contain any additional " "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list " "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " @@ -111164,7 +115426,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand { public: Test_TC_HEPAFREMON_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_HEPAFREMON_1_1", 17, credsIssuerConfig) + TestCommand("Test_TC_HEPAFREMON_1_1", 20, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -111255,12 +115517,27 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -111271,7 +115548,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 8: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -111280,7 +115557,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 9: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -111289,7 +115566,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); } break; - case 10: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -111298,11 +115575,27 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); } break; - case 11: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 12: + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -111310,11 +115603,11 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 13: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 14: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -111323,7 +115616,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); } break; - case 15: + case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -111335,7 +115628,7 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 16: + case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -111392,36 +115685,43 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand HepaFilterMonitoring::Attributes::FeatureMap::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 4a: Read the global attribute: AttributeList"); + LogStep(6, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 7: { - LogStep(7, "Step 4b: Read the feature dependent(HEPAFREMON.S.F00) attribute in AttributeList"); - VerifyOrDo(!ShouldSkip("HEPAFREMON.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(7, "Step 4: Read the global attribute: AttributeList"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, "Step 4c: Read the optional attribute InPlaceIndicator (HEPAFREMON.S.A0003) in AttributeList"); - VerifyOrDo(!ShouldSkip("HEPAFREMON.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(8, "Step 4b: Read the feature dependent(HEPAFREMON.S.F00) attribute in AttributeList"); + VerifyOrDo(!ShouldSkip("HEPAFREMON.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, "Step 4d: Read the optional attribute LastChangedTime (HEPAFREMON.S.A0004) in AttributeList"); - VerifyOrDo(!ShouldSkip("HEPAFREMON.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(9, "Step 4c: Read the optional attribute InPlaceIndicator (HEPAFREMON.S.A0003) in AttributeList"); + VerifyOrDo(!ShouldSkip("HEPAFREMON.S.A0003"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 10: { - LogStep(10, "Step 4e: Read the optional attribute ReplacementProductList (HEPAFREMON.S.F02) in AttributeList"); - VerifyOrDo(!ShouldSkip("HEPAFREMON.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(10, "Step 4d: Read the optional attribute LastChangedTime (HEPAFREMON.S.A0004) in AttributeList"); + VerifyOrDo(!ShouldSkip("HEPAFREMON.S.A0004"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); } case 11: { - LogStep(11, + LogStep(11, "Step 4e: Read the optional attribute ReplacementProductList (HEPAFREMON.S.F02) in AttributeList"); + VerifyOrDo(!ShouldSkip("HEPAFREMON.S.F02"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, + HepaFilterMonitoring::Attributes::AttributeList::Id, true, chip::NullOptional); + } + case 12: { + LogStep(12, "Step 4f: TH reads from the DUT the AttributeList attribute. The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY " "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " @@ -111436,13 +115736,35 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 12: { - LogStep(12, "Step 6a: Read the global attribute: AcceptedCommandList"); + case 13: { + LogStep(13, "Step 5a: TH reads EventList attribute from DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, + HepaFilterMonitoring::Attributes::EventList::Id, true, chip::NullOptional); + } + case 14: { + LogStep(14, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 15: { + LogStep(15, "Step 6a: Read the global attribute: AcceptedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, + case 16: { + LogStep(16, "Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -111456,19 +115778,19 @@ class Test_TC_HEPAFREMON_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 14: { - LogStep(14, "Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList"); + case 17: { + LogStep(17, "Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("HEPAFREMON.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, "Step 7a: Read the global attribute: GeneratedCommandList"); + case 18: { + LogStep(18, "Step 7a: Read the global attribute: GeneratedCommandList"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), HepaFilterMonitoring::Id, HepaFilterMonitoring::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, + case 19: { + LogStep(19, "Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or invalid " @@ -135439,7 +139761,7 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand { public: Test_TC_RVCCLEANM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_RVCCLEANM_1_1", 13, credsIssuerConfig) + TestCommand("Test_TC_RVCCLEANM_1_1", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -135513,6 +139835,7 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -135524,7 +139847,13 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: @@ -135533,7 +139862,7 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 7: @@ -135542,14 +139871,39 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); + } break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -135563,11 +139917,11 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 11: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -135581,7 +139935,7 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 12: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -135626,34 +139980,41 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("RVCCLEANM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, + LogStep(6, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("RVCCLEANM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, + true, chip::NullOptional); + } + case 7: { + LogStep(7, "Step 4c: Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and optional attribute(OnMode) is in " "AttributeList from the DUT"); VerifyOrDo(!ShouldSkip("RVCCLEANM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, + case 8: { + LogStep(8, "Step 4c: Read the Feature dependent(RVCCLEANM.S.F00 - DEPONOFF) and optional attribute(OnMode) is not in " "AttributeList from the DUT"); VerifyOrDo(!ShouldSkip(" !RVCCLEANM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { + case 9: { LogStep( - 8, + 9, "Step 4d: TH reads the AttributeList attribute from the DUT. 1.The list SHALL NOT contain any additional values in " "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY contain " "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " @@ -135668,14 +140029,37 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 6a: Read the global attribute AcceptedCommandList. Check if it contains id 0x0 (ChangeToMode)"); + case 10: { + LogStep(10, "Step 5a: Read the global attribute: EventList from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 11: { + LogStep( + 11, + "Step 5b: Read the global attribute: EventList from the DUT. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY contain " + "values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the " + "allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in " + "the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and " + "(0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 12: { + LogStep(12, "Step 6a: Read the global attribute AcceptedCommandList. Check if it contains id 0x0 (ChangeToMode)"); VerifyOrDo(!ShouldSkip("RVCCLEANM.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 13: { + LogStep(13, "Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -135690,15 +140074,15 @@ class Test_TC_RVCCLEANM_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { - LogStep(11, + case 14: { + LogStep(14, "Step 7a: Read the global attribute: GeneratedCommandList. Check if it contains id 0x1 (ChangeToModeResponse)"); VerifyOrDo(!ShouldSkip("RVCCLEANM.S.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcCleanMode::Id, RvcCleanMode::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, + case 15: { + LogStep(15, "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -135890,7 +140274,7 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand { public: Test_TC_RVCRUNM_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_RVCRUNM_1_1", 13, credsIssuerConfig) + TestCommand("Test_TC_RVCRUNM_1_1", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -135964,6 +140348,7 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -135975,7 +140360,13 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); } break; case 6: @@ -135984,7 +140375,7 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; case 7: @@ -135993,14 +140384,39 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand chip::app::DataModel::DecodableList value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); VerifyOrReturn(CheckConstraintType("value", "list", "list")); - VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintExcludes("value", value, 3UL)); + } break; case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + { + auto iter_0 = value.begin(); + VerifyOrReturn(CheckNoMoreListItems("eventList", iter_0, 0)); + } + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -136014,11 +140430,11 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 10: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; - case 11: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -136032,7 +140448,7 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 12: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -136077,33 +140493,40 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); - VerifyOrDo(!ShouldSkip("RVCRUNM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4a: TH reads the AttributeList attribute from the DUT"); + VerifyOrDo(!ShouldSkip("!PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, + LogStep(6, "Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT"); + VerifyOrDo(!ShouldSkip("RVCRUNM.S.A0002"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 7: { + LogStep(7, "Step 4c: Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and optional attribute(OnMode) is in " "AttributeList from the DUT"); VerifyOrDo(!ShouldSkip("RVCRUNM.S.F00"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, + case 8: { + LogStep(8, "Step 4d: Read the Feature dependent(RVCRUNM.S.F00 - DEPONOFF) and optional attribute(OnMode) is not in " "AttributeList from the DUT"); VerifyOrDo(!ShouldSkip(" !RVCRUNM.S.F00 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AttributeList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, + case 9: { + LogStep(9, "Step 4e: Check for mandatory attributes in AttributeList. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2.The list MAY " "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " @@ -136118,14 +140541,36 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 9: { - LogStep(9, "Step 6a: Read the global attribute AcceptedCommandList. Check if it contains id 0x0 (ChangeToMode)"); + case 10: { + LogStep(10, "Step 5a: Read the global attribute: EventList from the DUT"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 11: { + LogStep(11, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 12: { + LogStep(12, "Step 6a: Read the global attribute AcceptedCommandList. Check if it contains id 0x0 (ChangeToMode)"); VerifyOrDo(!ShouldSkip("RVCRUNM.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, + case 13: { + LogStep(13, "Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -136140,15 +140585,15 @@ class Test_TC_RVCRUNM_1_1Suite : public TestCommand value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); return UserPrompt(kIdentityAlpha, value); } - case 11: { - LogStep(11, + case 14: { + LogStep(14, "Step 7a: Read the global attribute: GeneratedCommandList. Check if it contains id 0x1 (ChangeToModeResponse)"); VerifyOrDo(!ShouldSkip("RVCRUNM.S.C01.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcRunMode::Id, RvcRunMode::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, + case 15: { + LogStep(15, "Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any additional values " "in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " @@ -137698,7 +142143,7 @@ class Test_TC_BIND_2_3Suite : public TestCommand class Test_TC_S_1_1Suite : public TestCommand { public: - Test_TC_S_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_1_1", 14, credsIssuerConfig) + Test_TC_S_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_1_1", 18, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -137778,6 +142223,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); @@ -137794,6 +142240,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 5UL)); VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); @@ -137804,6 +142251,59 @@ class Test_TC_S_1_1Suite : public TestCommand } break; case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + VerifyOrReturn(CheckConstraintContains("value", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("value", value, 65533UL)); + } + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + chip::app::DataModel::DecodableList value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintType("value", "list", "list")); + } + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + shouldContinue = true; + break; + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -137821,7 +142321,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 7: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -137836,7 +142336,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 8: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -137854,7 +142354,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 9: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -137869,7 +142369,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 10: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -137884,7 +142384,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 11: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -137893,7 +142393,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 40UL)); } break; - case 12: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -137902,7 +142402,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; - case 13: + case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -137952,61 +142452,95 @@ class Test_TC_S_1_1Suite : public TestCommand } case 4: { LogStep(4, "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is true"); - VerifyOrDo(!ShouldSkip("S.S.A0005"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + VerifyOrDo(!ShouldSkip("S.S.A0005 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AttributeList::Id, true, chip::NullOptional); } case 5: { - LogStep(5, "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is false"); - VerifyOrDo(!ShouldSkip(" !S.S.A0005 "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + LogStep(5, "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is true"); + VerifyOrDo(!ShouldSkip("S.S.A0005 && !PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AttributeList::Id, true, chip::NullOptional); } case 6: { - LogStep(6, "Step 6a: Read AcceptedCommandList (global attribute 65529)"); + LogStep(6, "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is false"); + VerifyOrDo(!ShouldSkip(" !S.S.A0005 && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 7: { + LogStep(7, "Step 4: Read AttributeList (global attribute 65531) if S.S.A0005 is false"); + VerifyOrDo(!ShouldSkip(" !S.S.A0005 && !PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AttributeList::Id, true, + chip::NullOptional); + } + case 8: { + LogStep(8, "Step 5a: Read EventList (global attribute 65530)"); + VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::EventList::Id, true, + chip::NullOptional); + } + case 9: { + LogStep(9, + "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " + "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " + "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); + VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); + ListFreer listFreer; + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt(kIdentityAlpha, value); + } + case 10: { + LogStep(10, "Step 6a: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("S.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 7: { - LogStep(7, "Step 6b: Read AcceptedCommandList (global attribute 65529)"); + case 11: { + LogStep(11, "Step 6b: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("(!S.S.C40.Rsp)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 8: { - LogStep(8, "Step 6c: Read AcceptedCommandList (global attribute 65529)"); + case 12: { + LogStep(12, "Step 6c: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("S.C.C40.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 9: { - LogStep(9, "Step 6d: Read AcceptedCommandList (global attribute 65529)"); + case 13: { + LogStep(13, "Step 6d: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("(!S.C.C40.Tx)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 7a: Read GeneratedCommandList (global attribute 65528)"); + case 14: { + LogStep(14, "Step 7a: Read GeneratedCommandList (global attribute 65528)"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, + case 15: { + LogStep(15, "Step 7b: Read optional command(EnhancedAddSceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, + case 16: { + LogStep(16, "Step 7c: Read optional command(EnhancedViewSceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 7d: Read optional command(CopySceneResponse) in GeneratedCommandList (global attribute 65528)"); + case 17: { + LogStep(17, "Step 7d: Read optional command(CopySceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); 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 3487b61ad5c6ed..9950ac95f572e3 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -2521,19 +2521,31 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList attribute from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListAttributeFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: TH reads optional attribute (Extension) in AttributeList\n"); - if (ShouldSkip("ACL.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList attribute from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeExtensionInAttributeList_4(); + err = TestStep4aThReadsAttributeListAttributeFromDut_4(); break; case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute (Extension) in AttributeList\n"); + if (ShouldSkip("ACL.S.A0001")) { + NextTest(); + return; + } + err = TestStep4bThReadsOptionalAttributeExtensionInAttributeList_5(); + break; + case 6: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 6 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -2543,11 +2555,33 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); + err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 6: + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5a: TH reads EventList attribute from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 8: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1. The list MAY contain values in " + " ***** Test Step 8 : Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + break; + case 9: + ChipLogProgress(chipTool, + " ***** Test Step 9 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1. The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -2556,11 +2590,11 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); break; - case 7: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 10 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -2569,7 +2603,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; } @@ -2606,6 +2640,15 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -2619,7 +2662,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -2701,6 +2744,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -2711,7 +2755,36 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeExtensionInAttributeList_4() + CHIP_ERROR TestStep4aThReadsAttributeListAttributeFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterAccessControl alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList attribute from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bThReadsOptionalAttributeExtensionInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -2733,7 +2806,18 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR + TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -2744,7 +2828,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -2755,7 +2839,7 @@ class Test_TC_ACL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -6348,11 +6432,23 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_7(); break; case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aReadTheGlobalAttributeAttributeList_8(); + break; + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4b: TH reads from the DUT the AttributeList attribute. 1.The list SHALL NOT contain any " + " ***** Test Step 9 : Step 4b: TH reads from the DUT the AttributeList attribute. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -6362,15 +6458,37 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bThReadsFromTheDutTheAttributeListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); - break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6:a Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_9(); + err = TestStep4bThReadsFromTheDutTheAttributeListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); break; case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 5a: TH reads EventList attribute from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 11: + ChipLogProgress(chipTool, + " ***** Test Step 11 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); + break; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_12(); + break; + case 13: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT " + " ***** Test Step 13 : Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT " "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " @@ -6381,15 +6499,15 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_11(); + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_14(); break; - case 12: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " + " ***** Test Step 15 : Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " @@ -6400,7 +6518,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); break; } @@ -6452,6 +6570,15 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -6465,7 +6592,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 13; + const uint16_t mTestCount = 16; chip::Optional mNodeId; chip::Optional mCluster; @@ -6611,6 +6738,33 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterAirQuality alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_8() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterAirQuality alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -6631,7 +6785,18 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsFromTheDutTheAttributeListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep4bThReadsFromTheDutTheAttributeListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + { + + 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 + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -6641,7 +6806,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_9() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -6649,7 +6814,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAcceptedCommandListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 6:a Read the global attribute: AcceptedCommandList Error: %@", err); + NSLog(@"Step 6a: Read the global attribute: AcceptedCommandList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -6661,7 +6826,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -6671,7 +6836,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_11() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -6696,7 +6861,7 @@ class Test_TC_AIRQUAL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -6877,16 +7042,44 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_6(); break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: EventList\n"); + if (ShouldSkip("BOOL.S.E00 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: Read the global attribute: EventList\n"); + if (ShouldSkip(" !BOOL.S.E00 && PICS_EVENT_LIST_ENABLED ")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -6916,6 +7109,15 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -6929,7 +7131,7 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 6; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -6999,6 +7201,33 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterBooleanState alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterBooleanState alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); @@ -7018,7 +7247,7 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_4() + CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7042,7 +7271,7 @@ class Test_TC_BOOL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_5() + CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7238,130 +7467,142 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: TH reads optional attribute(VendorName) in AttributeList\n"); - if (ShouldSkip("BRBINFO.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip(" !PICS_EVENT_LIST_ENABLED ")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeVendorNameInAttributeList_4(); + err = TestStep4aThReadsAttributeListFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4c: TH reads optional attribute(VendorID) in AttributeList\n"); - if (ShouldSkip("BRBINFO.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute(VendorName) in AttributeList\n"); + if (ShouldSkip("BRBINFO.S.A0001")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributeVendorIDInAttributeList_5(); + err = TestStep4bThReadsOptionalAttributeVendorNameInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4d: TH reads optional attribute(ProductName) in AttributeList\n"); - if (ShouldSkip("BRBINFO.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: TH reads optional attribute(VendorID) in AttributeList\n"); + if (ShouldSkip("BRBINFO.S.A0002")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributeProductNameInAttributeList_6(); + err = TestStep4cThReadsOptionalAttributeVendorIDInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4e: TH reads optional attribute(NodeLabel) in AttributeList\n"); - if (ShouldSkip("BRBINFO.S.A0005")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4d: TH reads optional attribute(ProductName) in AttributeList\n"); + if (ShouldSkip("BRBINFO.S.A0003")) { NextTest(); return; } - err = TestStep4eThReadsOptionalAttributeNodeLabelInAttributeList_7(); + err = TestStep4dThReadsOptionalAttributeProductNameInAttributeList_7(); break; case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4e: TH reads optional attribute(NodeLabel) in AttributeList\n"); + if (ShouldSkip("BRBINFO.S.A0005")) { + NextTest(); + return; + } + err = TestStep4eThReadsOptionalAttributeNodeLabelInAttributeList_8(); + break; + case 9: ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4f: TH reads optional attribute(HardwareVersion) in AttributeList\n"); + chipTool, " ***** Test Step 9 : Step 4f: TH reads optional attribute(HardwareVersion) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A0007")) { NextTest(); return; } - err = TestStep4fThReadsOptionalAttributeHardwareVersionInAttributeList_8(); + err = TestStep4fThReadsOptionalAttributeHardwareVersionInAttributeList_9(); break; - case 9: + case 10: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4g: TH reads optional attribute(HardwareVersionString) in AttributeList\n"); + chipTool, " ***** Test Step 10 : Step 4g: TH reads optional attribute(HardwareVersionString) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A0008")) { NextTest(); return; } - err = TestStep4gThReadsOptionalAttributeHardwareVersionStringInAttributeList_9(); + err = TestStep4gThReadsOptionalAttributeHardwareVersionStringInAttributeList_10(); break; - case 10: + case 11: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4h: TH reads optional attribute(SoftwareVersion) in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 4h: TH reads optional attribute(SoftwareVersion) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A0009")) { NextTest(); return; } - err = TestStep4hThReadsOptionalAttributeSoftwareVersionInAttributeList_10(); + err = TestStep4hThReadsOptionalAttributeSoftwareVersionInAttributeList_11(); break; - case 11: + case 12: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 4i: TH reads optional attribute(SoftwareVersionString) in AttributeList\n"); + chipTool, " ***** Test Step 12 : Step 4i: TH reads optional attribute(SoftwareVersionString) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A000a")) { NextTest(); return; } - err = TestStep4iThReadsOptionalAttributeSoftwareVersionStringInAttributeList_11(); + err = TestStep4iThReadsOptionalAttributeSoftwareVersionStringInAttributeList_12(); break; - case 12: + case 13: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 4j: TH reads optional attribute(ManufacturingDate) in AttributeList\n"); + chipTool, " ***** Test Step 13 : Step 4j: TH reads optional attribute(ManufacturingDate) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A000b")) { NextTest(); return; } - err = TestStep4jThReadsOptionalAttributeManufacturingDateInAttributeList_12(); + err = TestStep4jThReadsOptionalAttributeManufacturingDateInAttributeList_13(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4k: TH reads optional attribute(PartNumber) in AttributeList\n"); + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4k: TH reads optional attribute(PartNumber) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A000c")) { NextTest(); return; } - err = TestStep4kThReadsOptionalAttributePartNumberInAttributeList_13(); + err = TestStep4kThReadsOptionalAttributePartNumberInAttributeList_14(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4l: TH reads optional attribute(ProductURL) in AttributeList\n"); + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4l: TH reads optional attribute(ProductURL) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A000d")) { NextTest(); return; } - err = TestStep4lThReadsOptionalAttributeProductURLInAttributeList_14(); + err = TestStep4lThReadsOptionalAttributeProductURLInAttributeList_15(); break; - case 15: + case 16: ChipLogProgress( - chipTool, " ***** Test Step 15 : Step 4m: TH reads optional attribute(ProductLabel) in AttributeList\n"); + chipTool, " ***** Test Step 16 : Step 4m: TH reads optional attribute(ProductLabel) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A000e")) { NextTest(); return; } - err = TestStep4mThReadsOptionalAttributeProductLabelInAttributeList_15(); + err = TestStep4mThReadsOptionalAttributeProductLabelInAttributeList_16(); break; - case 16: + case 17: ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 4n: TH reads optional attribute(SerialNumber) in AttributeList\n"); + chipTool, " ***** Test Step 17 : Step 4n: TH reads optional attribute(SerialNumber) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A000f")) { NextTest(); return; } - err = TestStep4nThReadsOptionalAttributeSerialNumberInAttributeList_16(); + err = TestStep4nThReadsOptionalAttributeSerialNumberInAttributeList_17(); break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4o: TH reads optional attribute(UniqueID) in AttributeList\n"); + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4o: TH reads optional attribute(UniqueID) in AttributeList\n"); if (ShouldSkip("BRBINFO.S.A0012")) { NextTest(); return; } - err = TestStep4oThReadsOptionalAttributeUniqueIDInAttributeList_17(); + err = TestStep4oThReadsOptionalAttributeUniqueIDInAttributeList_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4p: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 19 : Step 4p: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -7371,15 +7612,53 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4pThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); - break; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 6a: TH1 reads AcceptedCommandList from DUT\n"); - err = TestStep6aTh1ReadsAcceptedCommandListFromDut_19(); + err = TestStep4pThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); break; case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : Step 5a: TH reads optional event(StartUp) in EventList\n"); + if (ShouldSkip("BRBINFO.S.E00 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Step 5b: TH reads optional attribute(ShutDown) in EventList\n"); + if (ShouldSkip("BRBINFO.S.E01 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Step 5c: TH reads optional attribute(Leave) in EventList\n"); + if (ShouldSkip("BRBINFO.S.E02 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 23: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 23 : Step 5d: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5dThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_23(); + break; + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : Step 6a: TH1 reads AcceptedCommandList from DUT\n"); + err = TestStep6aTh1ReadsAcceptedCommandListFromDut_24(); + break; + case 25: + ChipLogProgress(chipTool, + " ***** Test Step 25 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -7388,15 +7667,15 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_25(); break; - case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : Step 7a: TH1 reads GeneratedCommandList from DUT\n"); - err = TestStep7aTh1ReadsGeneratedCommandListFromDut_21(); + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : Step 7a: TH1 reads GeneratedCommandList from DUT\n"); + err = TestStep7aTh1ReadsGeneratedCommandListFromDut_26(); break; - case 22: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the " + " ***** Test Step 27 : Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " @@ -7405,7 +7684,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_22(); + err = TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; } @@ -7487,6 +7766,21 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { case 22: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 23: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 24: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 25: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 26: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 27: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -7500,7 +7794,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 23; + const uint16_t mTestCount = 28; chip::Optional mNodeId; chip::Optional mCluster; @@ -7560,6 +7854,35 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterBridgedDeviceBasicInformation alloc] initWithDevice:device + endpointID:@(3) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -7579,7 +7902,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeVendorNameInAttributeList_4() + CHIP_ERROR TestStep4bThReadsOptionalAttributeVendorNameInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7602,7 +7925,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeVendorIDInAttributeList_5() + CHIP_ERROR TestStep4cThReadsOptionalAttributeVendorIDInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7625,7 +7948,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeProductNameInAttributeList_6() + CHIP_ERROR TestStep4dThReadsOptionalAttributeProductNameInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7648,7 +7971,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsOptionalAttributeNodeLabelInAttributeList_7() + CHIP_ERROR TestStep4eThReadsOptionalAttributeNodeLabelInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7671,7 +7994,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsOptionalAttributeHardwareVersionInAttributeList_8() + CHIP_ERROR TestStep4fThReadsOptionalAttributeHardwareVersionInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7694,7 +8017,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsOptionalAttributeHardwareVersionStringInAttributeList_9() + CHIP_ERROR TestStep4gThReadsOptionalAttributeHardwareVersionStringInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7717,7 +8040,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsOptionalAttributeSoftwareVersionInAttributeList_10() + CHIP_ERROR TestStep4hThReadsOptionalAttributeSoftwareVersionInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7740,7 +8063,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsOptionalAttributeSoftwareVersionStringInAttributeList_11() + CHIP_ERROR TestStep4iThReadsOptionalAttributeSoftwareVersionStringInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7763,7 +8086,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jThReadsOptionalAttributeManufacturingDateInAttributeList_12() + CHIP_ERROR TestStep4jThReadsOptionalAttributeManufacturingDateInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7786,7 +8109,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kThReadsOptionalAttributePartNumberInAttributeList_13() + CHIP_ERROR TestStep4kThReadsOptionalAttributePartNumberInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7809,7 +8132,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lThReadsOptionalAttributeProductURLInAttributeList_14() + CHIP_ERROR TestStep4lThReadsOptionalAttributeProductURLInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7832,7 +8155,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mThReadsOptionalAttributeProductLabelInAttributeList_15() + CHIP_ERROR TestStep4mThReadsOptionalAttributeProductLabelInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7855,7 +8178,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nThReadsOptionalAttributeSerialNumberInAttributeList_16() + CHIP_ERROR TestStep4nThReadsOptionalAttributeSerialNumberInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7878,7 +8201,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oThReadsOptionalAttributeUniqueIDInAttributeList_17() + CHIP_ERROR TestStep4oThReadsOptionalAttributeUniqueIDInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7902,7 +8225,18 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4pThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + TestStep4pThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() + { + + 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 + TestStep5dThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_23() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -7912,7 +8246,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aTh1ReadsAcceptedCommandListFromDut_19() + CHIP_ERROR TestStep6aTh1ReadsAcceptedCommandListFromDut_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7939,7 +8273,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_25() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -7949,7 +8283,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aTh1ReadsGeneratedCommandListFromDut_21() + CHIP_ERROR TestStep7aTh1ReadsGeneratedCommandListFromDut_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -7976,7 +8310,7 @@ class Test_TC_BRBINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_22() + TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -8039,23 +8373,43 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(SetupURL) in AttributeList\n"); - if (ShouldSkip("ACT.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeSetupURLInAttributeList_4(); + err = TestStep4aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(SetupURL) in AttributeList\n"); + if (ShouldSkip("ACT.S.A0002")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeSetupURLInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: TH reads EventList attribute from DUT\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsEventListAttributeFromDut_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_8(); break; } @@ -8089,6 +8443,12 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -8102,7 +8462,7 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -8172,6 +8532,34 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterActions alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -8192,7 +8580,7 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeSetupURLInAttributeList_4() + CHIP_ERROR TestStep4bReadTheOptionalAttributeSetupURLInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -8213,7 +8601,17 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep5ThReadsEventListAttributeFromDut_6() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -8233,7 +8631,7 @@ class Test_TC_ACT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -8310,11 +8708,23 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListFromDut_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -8324,11 +8734,25 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); + err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 5: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 6 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + break; + case 7: + ChipLogProgress(chipTool, + " ***** Test Step 7 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -8337,11 +8761,11 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); break; - case 6: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 8 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -8350,7 +8774,7 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; } @@ -8384,6 +8808,12 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -8397,7 +8827,7 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -8467,6 +8897,33 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterBinding alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterBinding alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -8487,7 +8944,18 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() + TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + { + + 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 + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -8498,7 +8966,7 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -8509,7 +8977,7 @@ class Test_TC_BIND_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -8625,598 +9093,618 @@ class Test_TC_CC_1_1 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: Read the optional attribute(CurrentHue) in AttributeList\n"); - if (ShouldSkip("CC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_9(); + err = TestStep4aReadTheGlobalAttributeAttributeList_9(); break; case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: Read the optional attribute(CurrentHue) in AttributeList\n"); + if (ShouldSkip("CC.S.A0000")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_10(); + break; + case 11: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 4c: Read the optional attribute(CurrentSaturation) in AttributeList\n"); if (ShouldSkip("CC.S.A0001")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_10(); + err = TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_11(); break; - case 11: + case 12: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 4d: Read the optional attribute(RemainingTime) in AttributeList\n"); + chipTool, " ***** Test Step 12 : Step 4d: Read the optional attribute(RemainingTime) in AttributeList\n"); if (ShouldSkip("CC.S.A0002")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_11(); + err = TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_12(); break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4e: Read the optional attribute(CurrentX) in AttributeList\n"); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4e: Read the optional attribute(CurrentX) in AttributeList\n"); if (ShouldSkip("CC.S.A0003")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_12(); + err = TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_13(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4f: Read the optional attribute(CurrentY) in AttributeList\n"); + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4f: Read the optional attribute(CurrentY) in AttributeList\n"); if (ShouldSkip("CC.S.A0004")) { NextTest(); return; } - err = TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_13(); + err = TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_14(); break; - case 14: + case 15: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 4g: Read the optional attribute(DriftCompensation) in AttributeList\n"); + chipTool, " ***** Test Step 15 : Step 4g: Read the optional attribute(DriftCompensation) in AttributeList\n"); if (ShouldSkip("CC.S.A0005")) { NextTest(); return; } - err = TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_14(); + err = TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_15(); break; - case 15: + case 16: ChipLogProgress( - chipTool, " ***** Test Step 15 : Step 4h: Read the optional attribute(CompensationText) in AttributeList\n"); + chipTool, " ***** Test Step 16 : Step 4h: Read the optional attribute(CompensationText) in AttributeList\n"); if (ShouldSkip("CC.S.A0006")) { NextTest(); return; } - err = TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_15(); + err = TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_16(); break; - case 16: + case 17: ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList\n"); + chipTool, " ***** Test Step 17 : Step 4i: Read the optional attribute(ColorTemperatureMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A0007")) { NextTest(); return; } - err = TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_16(); + err = TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_17(); break; - case 17: + case 18: ChipLogProgress( - chipTool, " ***** Test Step 17 : Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList\n"); + chipTool, " ***** Test Step 18 : Step 4j: Read the optional attribute(NumberOfPrimaries) in AttributeList\n"); if (ShouldSkip("CC.S.A0010")) { NextTest(); return; } - err = TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_17(); + err = TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_18(); break; - case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4k: Read the optional attribute(Primary1X) in AttributeList\n"); + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4k: Read the optional attribute(Primary1X) in AttributeList\n"); if (ShouldSkip("CC.S.A0011")) { NextTest(); return; } - err = TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_18(); + err = TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_19(); break; - case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : Step 4l: Read the optional attribute(Primary1Y) in AttributeList\n"); + case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4l: Read the optional attribute(Primary1Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0012")) { NextTest(); return; } - err = TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_19(); + err = TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_20(); break; - case 20: + case 21: ChipLogProgress( - chipTool, " ***** Test Step 20 : Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 21 : Step 4m: Read the optional attribute(Primary1Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0013")) { NextTest(); return; } - err = TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_20(); + err = TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_21(); break; - case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4n: Read the optional attribute(Primary2X) in AttributeList\n"); + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4n: Read the optional attribute(Primary2X) in AttributeList\n"); if (ShouldSkip("CC.S.A0015")) { NextTest(); return; } - err = TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_21(); + err = TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_22(); break; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4o: Read the optional attribute(Primary2Y) in AttributeList\n"); + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4o: Read the optional attribute(Primary2Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0016")) { NextTest(); return; } - err = TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_22(); + err = TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress( - chipTool, " ***** Test Step 23 : Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 24 : Step 4p: Read the optional attribute(Primary2Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0017")) { NextTest(); return; } - err = TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_23(); + err = TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_24(); break; - case 24: - ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4q: Read the optional attribute(Primary3X) in AttributeList\n"); + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4q: Read the optional attribute(Primary3X) in AttributeList\n"); if (ShouldSkip("CC.S.A0019")) { NextTest(); return; } - err = TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_24(); + err = TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_25(); break; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4r: Read the optional attribute(Primary3Y) in AttributeList\n"); + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4r: Read the optional attribute(Primary3Y) in AttributeList\n"); if (ShouldSkip("CC.S.A001a")) { NextTest(); return; } - err = TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_25(); + err = TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_26(); break; - case 26: + case 27: ChipLogProgress( - chipTool, " ***** Test Step 26 : Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 27 : Step 4s: Read the optional attribute(Primary3Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A001b")) { NextTest(); return; } - err = TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_26(); + err = TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_27(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4t: Read the optional attribute(Primary4X) in AttributeList\n"); + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4t: Read the optional attribute(Primary4X) in AttributeList\n"); if (ShouldSkip("CC.S.A0020")) { NextTest(); return; } - err = TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_27(); + err = TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_28(); break; - case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4u: Read the optional attribute(Primary4Y) in AttributeList\n"); + case 29: + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4u: Read the optional attribute(Primary4Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0021")) { NextTest(); return; } - err = TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_28(); + err = TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_29(); break; - case 29: + case 30: ChipLogProgress( - chipTool, " ***** Test Step 29 : Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 30 : Step 4v: Read the optional attribute(Primary4Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0022")) { NextTest(); return; } - err = TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_29(); + err = TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_30(); break; - case 30: - ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4w: Read the optional attribute(Primary5X) in AttributeList\n"); + case 31: + ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4w: Read the optional attribute(Primary5X) in AttributeList\n"); if (ShouldSkip("CC.S.A0024")) { NextTest(); return; } - err = TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_30(); + err = TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_31(); break; - case 31: - ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4x: Read the optional attribute(Primary5Y) in AttributeList\n"); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 4x: Read the optional attribute(Primary5Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0025")) { NextTest(); return; } - err = TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_31(); + err = TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_32(); break; - case 32: + case 33: ChipLogProgress( - chipTool, " ***** Test Step 32 : Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 33 : Step 4y: Read the optional attribute(Primary5Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0026")) { NextTest(); return; } - err = TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_32(); + err = TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_33(); break; - case 33: - ChipLogProgress(chipTool, " ***** Test Step 33 : Step 4z: Read the optional attribute(Primary6X) in AttributeList\n"); + case 34: + ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4z: Read the optional attribute(Primary6X) in AttributeList\n"); if (ShouldSkip("CC.S.A0028")) { NextTest(); return; } - err = TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_33(); + err = TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_34(); break; - case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4a1: Read the optional attribute(Primary6Y) in AttributeList\n"); + case 35: + ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4a1: Read the optional attribute(Primary6Y) in AttributeList\n"); if (ShouldSkip("CC.S.A0029")) { NextTest(); return; } - err = TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_34(); + err = TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_35(); break; - case 35: + case 36: ChipLogProgress( - chipTool, " ***** Test Step 35 : Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList\n"); + chipTool, " ***** Test Step 36 : Step 4a2: Read the optional attribute(Primary6Intensity) in AttributeList\n"); if (ShouldSkip("CC.S.A002a")) { NextTest(); return; } - err = TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_35(); + err = TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_36(); break; - case 36: + case 37: ChipLogProgress( - chipTool, " ***** Test Step 36 : Step 4a3: Read the optional attribute(WhitePointX) in AttributeList\n"); + chipTool, " ***** Test Step 37 : Step 4a3: Read the optional attribute(WhitePointX) in AttributeList\n"); if (ShouldSkip("CC.S.A0030")) { NextTest(); return; } - err = TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_36(); + err = TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_37(); break; - case 37: + case 38: ChipLogProgress( - chipTool, " ***** Test Step 37 : Step 4a4: Read the optional attribute(WhitePointY) in AttributeList\n"); + chipTool, " ***** Test Step 38 : Step 4a4: Read the optional attribute(WhitePointY) in AttributeList\n"); if (ShouldSkip("CC.S.A0031")) { NextTest(); return; } - err = TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_37(); + err = TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_38(); break; - case 38: + case 39: ChipLogProgress( - chipTool, " ***** Test Step 38 : Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList\n"); + chipTool, " ***** Test Step 39 : Step 4a5: Read the optional attribute(ColorPointRX) in AttributeList\n"); if (ShouldSkip("CC.S.A0032")) { NextTest(); return; } - err = TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_38(); + err = TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_39(); break; - case 39: + case 40: ChipLogProgress( - chipTool, " ***** Test Step 39 : Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList\n"); + chipTool, " ***** Test Step 40 : Step 4a6: Read the optional attribute(ColorPointRY) in AttributeList\n"); if (ShouldSkip("CC.S.A0033")) { NextTest(); return; } - err = TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_39(); + err = TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_40(); break; - case 40: + case 41: ChipLogProgress( - chipTool, " ***** Test Step 40 : Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList\n"); + chipTool, " ***** Test Step 41 : Step 4a7: Read the optional attribute(ColorPointRIntensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0034")) { NextTest(); return; } - err = TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_40(); + err = TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_41(); break; - case 41: + case 42: ChipLogProgress( - chipTool, " ***** Test Step 41 : Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList\n"); + chipTool, " ***** Test Step 42 : Step 4a8: Read the optional attribute(ColorPointGX) in AttributeList\n"); if (ShouldSkip("CC.S.A0036")) { NextTest(); return; } - err = TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_41(); + err = TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_42(); break; - case 42: + case 43: ChipLogProgress( - chipTool, " ***** Test Step 42 : Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList\n"); + chipTool, " ***** Test Step 43 : Step 4a9: Read the optional attribute(ColorPointGY) in AttributeList\n"); if (ShouldSkip("CC.S.A0037")) { NextTest(); return; } - err = TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_42(); + err = TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_43(); break; - case 43: + case 44: ChipLogProgress( - chipTool, " ***** Test Step 43 : Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList\n"); + chipTool, " ***** Test Step 44 : Step 4a10: Read the optional attribute(ColorPointGIntensity) in AttributeList\n"); if (ShouldSkip("CC.S.A0038")) { NextTest(); return; } - err = TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_43(); + err = TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_44(); break; - case 44: + case 45: ChipLogProgress( - chipTool, " ***** Test Step 44 : Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList\n"); + chipTool, " ***** Test Step 45 : Step 4a11: Read the optional attribute(ColorPointBX) in AttributeList\n"); if (ShouldSkip("CC.S.A003a")) { NextTest(); return; } - err = TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_44(); + err = TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_45(); break; - case 45: + case 46: ChipLogProgress( - chipTool, " ***** Test Step 45 : Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList\n"); + chipTool, " ***** Test Step 46 : Step 4a12: Read the optional attribute(ColorPointBY) in AttributeList\n"); if (ShouldSkip("CC.S.A003b")) { NextTest(); return; } - err = TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_45(); + err = TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_46(); break; - case 46: + case 47: ChipLogProgress( - chipTool, " ***** Test Step 46 : Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList\n"); + chipTool, " ***** Test Step 47 : Step 4a13: Read the optional attribute(ColorPointBIntensity) in AttributeList\n"); if (ShouldSkip("CC.S.A003c")) { NextTest(); return; } - err = TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_46(); + err = TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_47(); break; - case 47: + case 48: ChipLogProgress( - chipTool, " ***** Test Step 47 : Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList\n"); + chipTool, " ***** Test Step 48 : Step 4a14: Read the optional attribute(EnhancedCurrentHue) in AttributeList\n"); if (ShouldSkip("CC.S.A4000")) { NextTest(); return; } - err = TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_47(); + err = TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_48(); break; - case 48: + case 49: ChipLogProgress( - chipTool, " ***** Test Step 48 : Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList\n"); + chipTool, " ***** Test Step 49 : Step 4a15: Read the optional attribute(ColorLoopActive) in AttributeList\n"); if (ShouldSkip("CC.S.A4002")) { NextTest(); return; } - err = TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_48(); + err = TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_49(); break; - case 49: + case 50: ChipLogProgress( - chipTool, " ***** Test Step 49 : Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList\n"); + chipTool, " ***** Test Step 50 : Step 4a16: Read the optional attribute(ColorLoopDirection) in AttributeList\n"); if (ShouldSkip("CC.S.A4003")) { NextTest(); return; } - err = TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_49(); + err = TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_50(); break; - case 50: + case 51: ChipLogProgress( - chipTool, " ***** Test Step 50 : Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList\n"); + chipTool, " ***** Test Step 51 : Step 4a17: Read the optional attribute(ColorLoopTime) in AttributeList\n"); if (ShouldSkip("CC.S.A4004")) { NextTest(); return; } - err = TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_50(); + err = TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_51(); break; - case 51: + case 52: ChipLogProgress(chipTool, - " ***** Test Step 51 : Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList\n"); + " ***** Test Step 52 : Step 4a18: Read the optional attribute(ColorLoopStartEnhancedHue) in AttributeList\n"); if (ShouldSkip("CC.S.A4005")) { NextTest(); return; } - err = TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_51(); + err = TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_52(); break; - case 52: + case 53: ChipLogProgress(chipTool, - " ***** Test Step 52 : Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList\n"); + " ***** Test Step 53 : Step 4a19: Read the optional attribute(ColorLoopStoredEnhancedHue) in AttributeList\n"); if (ShouldSkip("CC.S.A4006")) { NextTest(); return; } - err = TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_52(); + err = TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_53(); break; - case 53: + case 54: ChipLogProgress(chipTool, - " ***** Test Step 53 : Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList\n"); + " ***** Test Step 54 : Step 4a20: Read the optional attribute(ColorTempPhysicalMinMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A400b")) { NextTest(); return; } - err = TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_53(); + err = TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_54(); break; - case 54: + case 55: ChipLogProgress(chipTool, - " ***** Test Step 54 : Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList\n"); + " ***** Test Step 55 : Step 4a21: Read the optional attribute(ColorTempPhysicalMaxMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A400c")) { NextTest(); return; } - err = TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_54(); + err = TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_55(); break; - case 55: + case 56: ChipLogProgress(chipTool, - " ***** Test Step 55 : Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList\n"); + " ***** Test Step 56 : Step 4a22: Read the optional attribute(CoupleColorTempToLevelMinMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A400d")) { NextTest(); return; } - err = TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_55(); + err = TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_56(); break; - case 56: + case 57: ChipLogProgress(chipTool, - " ***** Test Step 56 : Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList\n"); + " ***** Test Step 57 : Step 4a23: Read the optional attribute(StartUpColorTemperatureMireds) in AttributeList\n"); if (ShouldSkip("CC.S.A4010")) { NextTest(); return; } - err = TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_56(); + err = TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_57(); break; - case 57: + case 58: + ChipLogProgress(chipTool, " ***** Test Step 58 : Step 5: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 59: ChipLogProgress( - chipTool, " ***** Test Step 57 : Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 59 : Step 6a: Read the optional command(MoveToHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_57(); + err = TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_59(); break; - case 58: - ChipLogProgress(chipTool, " ***** Test Step 58 : Step 6b: Read the optional command(MoveHue) in AcceptedCommandList\n"); + case 60: + ChipLogProgress(chipTool, " ***** Test Step 60 : Step 6b: Read the optional command(MoveHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C01.Rsp")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_58(); + err = TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_60(); break; - case 59: - ChipLogProgress(chipTool, " ***** Test Step 59 : Step 6c: Read the optional command(StepHue) in AcceptedCommandList\n"); + case 61: + ChipLogProgress(chipTool, " ***** Test Step 61 : Step 6c: Read the optional command(StepHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C02.Rsp")) { NextTest(); return; } - err = TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_59(); + err = TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_61(); break; - case 60: + case 62: ChipLogProgress( - chipTool, " ***** Test Step 60 : Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 62 : Step 6d: Read the optional command(MoveToSaturation) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C03.Rsp")) { NextTest(); return; } - err = TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_60(); + err = TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_62(); break; - case 61: + case 63: ChipLogProgress( - chipTool, " ***** Test Step 61 : Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 63 : Step 6e: Read the optional command(MoveSaturation) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C04.Rsp")) { NextTest(); return; } - err = TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_61(); + err = TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_63(); break; - case 62: + case 64: ChipLogProgress( - chipTool, " ***** Test Step 62 : Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 64 : Step 6f: Read the optional command(StepSaturation) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C05.Rsp")) { NextTest(); return; } - err = TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_62(); + err = TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_64(); break; - case 63: + case 65: ChipLogProgress(chipTool, - " ***** Test Step 63 : Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList\n"); + " ***** Test Step 65 : Step 6g: Read the optional command(MoveToHueAndSaturation) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C06.Rsp")) { NextTest(); return; } - err = TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_63(); + err = TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_65(); break; - case 64: + case 66: ChipLogProgress( - chipTool, " ***** Test Step 64 : Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 66 : Step 6h: Read the optional command(MoveToColor) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C07.Rsp")) { NextTest(); return; } - err = TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_64(); + err = TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_66(); break; - case 65: + case 67: ChipLogProgress( - chipTool, " ***** Test Step 65 : Step 6i: Read the optional command(MoveColor) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 67 : Step 6i: Read the optional command(MoveColor) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C08.Rsp")) { NextTest(); return; } - err = TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_65(); + err = TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_67(); break; - case 66: + case 68: ChipLogProgress( - chipTool, " ***** Test Step 66 : Step 6j: Read the optional command(StepColor) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 68 : Step 6j: Read the optional command(StepColor) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C09.Rsp")) { NextTest(); return; } - err = TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_66(); + err = TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_68(); break; - case 67: + case 69: ChipLogProgress(chipTool, - " ***** Test Step 67 : Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList\n"); + " ***** Test Step 69 : Step 6k: Read the optional command(MoveToColorTemperature) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C0a.Rsp")) { NextTest(); return; } - err = TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_67(); + err = TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_69(); break; - case 68: + case 70: ChipLogProgress( - chipTool, " ***** Test Step 68 : Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 70 : Step 6l: Read the optional command(EnhancedMoveToHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C40.Rsp")) { NextTest(); return; } - err = TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_68(); + err = TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_70(); break; - case 69: + case 71: ChipLogProgress( - chipTool, " ***** Test Step 69 : Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 71 : Step 6m: Read the optional command(EnhancedMoveHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C41.Rsp")) { NextTest(); return; } - err = TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_69(); + err = TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_71(); break; - case 70: + case 72: ChipLogProgress( - chipTool, " ***** Test Step 70 : Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 72 : Step 6n: Read the optional command(EnhancedStepHue) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C42.Rsp")) { NextTest(); return; } - err = TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_70(); + err = TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_72(); break; - case 71: + case 73: ChipLogProgress(chipTool, - " ***** Test Step 71 : Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in " + " ***** Test Step 73 : Step 6o: Read the optional command(EnhancedMoveToHueAndSaturation) in " "AcceptedCommandList\n"); if (ShouldSkip("CC.S.C43.Rsp")) { NextTest(); return; } - err = TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_71(); + err = TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_73(); break; - case 72: + case 74: ChipLogProgress( - chipTool, " ***** Test Step 72 : Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 74 : Step 6p: Read the optional command(ColorLoopSet) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C44.Rsp")) { NextTest(); return; } - err = TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_72(); + err = TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_74(); break; - case 73: + case 75: ChipLogProgress( - chipTool, " ***** Test Step 73 : Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 75 : Step 6q: Read the optional command(StopMoveStep) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C47.Rsp")) { NextTest(); return; } - err = TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_73(); + err = TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_75(); break; - case 74: + case 76: ChipLogProgress(chipTool, - " ***** Test Step 74 : Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList\n"); + " ***** Test Step 76 : Step 6r: Read the optional command(MoveColorTemperature) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C4b.Rsp")) { NextTest(); return; } - err = TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_74(); + err = TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_76(); break; - case 75: + case 77: ChipLogProgress(chipTool, - " ***** Test Step 75 : Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList\n"); + " ***** Test Step 77 : Step 6s: Read the optional command(StepColorTemperature) in AcceptedCommandList\n"); if (ShouldSkip("CC.S.C4c.Rsp")) { NextTest(); return; } - err = TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_75(); + err = TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_77(); break; - case 76: - ChipLogProgress(chipTool, " ***** Test Step 76 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_76(); + case 78: + ChipLogProgress(chipTool, " ***** Test Step 78 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_78(); break; } @@ -9460,6 +9948,12 @@ class Test_TC_CC_1_1 : public TestCommandBridge { case 76: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 77: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 78: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -9473,7 +9967,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 77; + const uint16_t mTestCount = 79; chip::Optional mNodeId; chip::Optional mCluster; @@ -9636,6 +10130,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 16394UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -9646,7 +10141,36 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_9() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_9() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterColorControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 15UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 16385UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 16394UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeCurrentHueInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9667,7 +10191,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_10() + CHIP_ERROR TestStep4cReadTheOptionalAttributeCurrentSaturationInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9688,7 +10212,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_11() + CHIP_ERROR TestStep4dReadTheOptionalAttributeRemainingTimeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9709,7 +10233,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_12() + CHIP_ERROR TestStep4eReadTheOptionalAttributeCurrentXInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9730,7 +10254,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_13() + CHIP_ERROR TestStep4fReadTheOptionalAttributeCurrentYInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9751,7 +10275,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_14() + CHIP_ERROR TestStep4gReadTheOptionalAttributeDriftCompensationInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9772,7 +10296,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_15() + CHIP_ERROR TestStep4hReadTheOptionalAttributeCompensationTextInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9793,7 +10317,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_16() + CHIP_ERROR TestStep4iReadTheOptionalAttributeColorTemperatureMiredsInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9814,7 +10338,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_17() + CHIP_ERROR TestStep4jReadTheOptionalAttributeNumberOfPrimariesInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9835,7 +10359,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_18() + CHIP_ERROR TestStep4kReadTheOptionalAttributePrimary1XInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9856,7 +10380,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_19() + CHIP_ERROR TestStep4lReadTheOptionalAttributePrimary1YInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9877,7 +10401,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_20() + CHIP_ERROR TestStep4mReadTheOptionalAttributePrimary1IntensityInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9898,7 +10422,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_21() + CHIP_ERROR TestStep4nReadTheOptionalAttributePrimary2XInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9919,7 +10443,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_22() + CHIP_ERROR TestStep4oReadTheOptionalAttributePrimary2YInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9940,7 +10464,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_23() + CHIP_ERROR TestStep4pReadTheOptionalAttributePrimary2IntensityInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9961,7 +10485,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_24() + CHIP_ERROR TestStep4qReadTheOptionalAttributePrimary3XInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -9982,7 +10506,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_25() + CHIP_ERROR TestStep4rReadTheOptionalAttributePrimary3YInAttributeList_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10003,7 +10527,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_26() + CHIP_ERROR TestStep4sReadTheOptionalAttributePrimary3IntensityInAttributeList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10024,7 +10548,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_27() + CHIP_ERROR TestStep4tReadTheOptionalAttributePrimary4XInAttributeList_28() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10045,7 +10569,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_28() + CHIP_ERROR TestStep4uReadTheOptionalAttributePrimary4YInAttributeList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10066,7 +10590,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_29() + CHIP_ERROR TestStep4vReadTheOptionalAttributePrimary4IntensityInAttributeList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10087,7 +10611,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_30() + CHIP_ERROR TestStep4wReadTheOptionalAttributePrimary5XInAttributeList_31() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10108,7 +10632,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_31() + CHIP_ERROR TestStep4xReadTheOptionalAttributePrimary5YInAttributeList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10129,7 +10653,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_32() + CHIP_ERROR TestStep4yReadTheOptionalAttributePrimary5IntensityInAttributeList_33() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10150,7 +10674,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_33() + CHIP_ERROR TestStep4zReadTheOptionalAttributePrimary6XInAttributeList_34() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10171,7 +10695,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_34() + CHIP_ERROR TestStep4a1ReadTheOptionalAttributePrimary6YInAttributeList_35() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10192,7 +10716,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_35() + CHIP_ERROR TestStep4a2ReadTheOptionalAttributePrimary6IntensityInAttributeList_36() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10213,7 +10737,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_36() + CHIP_ERROR TestStep4a3ReadTheOptionalAttributeWhitePointXInAttributeList_37() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10234,7 +10758,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_37() + CHIP_ERROR TestStep4a4ReadTheOptionalAttributeWhitePointYInAttributeList_38() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10255,7 +10779,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_38() + CHIP_ERROR TestStep4a5ReadTheOptionalAttributeColorPointRXInAttributeList_39() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10276,7 +10800,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_39() + CHIP_ERROR TestStep4a6ReadTheOptionalAttributeColorPointRYInAttributeList_40() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10297,7 +10821,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_40() + CHIP_ERROR TestStep4a7ReadTheOptionalAttributeColorPointRIntensityInAttributeList_41() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10318,7 +10842,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_41() + CHIP_ERROR TestStep4a8ReadTheOptionalAttributeColorPointGXInAttributeList_42() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10339,7 +10863,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_42() + CHIP_ERROR TestStep4a9ReadTheOptionalAttributeColorPointGYInAttributeList_43() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10360,7 +10884,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_43() + CHIP_ERROR TestStep4a10ReadTheOptionalAttributeColorPointGIntensityInAttributeList_44() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10381,7 +10905,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_44() + CHIP_ERROR TestStep4a11ReadTheOptionalAttributeColorPointBXInAttributeList_45() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10402,7 +10926,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_45() + CHIP_ERROR TestStep4a12ReadTheOptionalAttributeColorPointBYInAttributeList_46() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10423,7 +10947,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_46() + CHIP_ERROR TestStep4a13ReadTheOptionalAttributeColorPointBIntensityInAttributeList_47() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10444,7 +10968,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_47() + CHIP_ERROR TestStep4a14ReadTheOptionalAttributeEnhancedCurrentHueInAttributeList_48() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10465,7 +10989,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_48() + CHIP_ERROR TestStep4a15ReadTheOptionalAttributeColorLoopActiveInAttributeList_49() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10486,7 +11010,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_49() + CHIP_ERROR TestStep4a16ReadTheOptionalAttributeColorLoopDirectionInAttributeList_50() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10507,7 +11031,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_50() + CHIP_ERROR TestStep4a17ReadTheOptionalAttributeColorLoopTimeInAttributeList_51() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10528,7 +11052,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_51() + CHIP_ERROR TestStep4a18ReadTheOptionalAttributeColorLoopStartEnhancedHueInAttributeList_52() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10549,7 +11073,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_52() + CHIP_ERROR TestStep4a19ReadTheOptionalAttributeColorLoopStoredEnhancedHueInAttributeList_53() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10570,7 +11094,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_53() + CHIP_ERROR TestStep4a20ReadTheOptionalAttributeColorTempPhysicalMinMiredsInAttributeList_54() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10591,7 +11115,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_54() + CHIP_ERROR TestStep4a21ReadTheOptionalAttributeColorTempPhysicalMaxMiredsInAttributeList_55() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10612,7 +11136,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_55() + CHIP_ERROR TestStep4a22ReadTheOptionalAttributeCoupleColorTempToLevelMinMiredsInAttributeList_56() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10633,7 +11157,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_56() + CHIP_ERROR TestStep4a23ReadTheOptionalAttributeStartUpColorTemperatureMiredsInAttributeList_57() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10654,7 +11178,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_57() + CHIP_ERROR TestStep6aReadTheOptionalCommandMoveToHueInAcceptedCommandList_59() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10675,7 +11199,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_58() + CHIP_ERROR TestStep6bReadTheOptionalCommandMoveHueInAcceptedCommandList_60() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10696,7 +11220,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_59() + CHIP_ERROR TestStep6cReadTheOptionalCommandStepHueInAcceptedCommandList_61() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10717,7 +11241,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_60() + CHIP_ERROR TestStep6dReadTheOptionalCommandMoveToSaturationInAcceptedCommandList_62() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10738,7 +11262,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_61() + CHIP_ERROR TestStep6eReadTheOptionalCommandMoveSaturationInAcceptedCommandList_63() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10759,7 +11283,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_62() + CHIP_ERROR TestStep6fReadTheOptionalCommandStepSaturationInAcceptedCommandList_64() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10780,7 +11304,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_63() + CHIP_ERROR TestStep6gReadTheOptionalCommandMoveToHueAndSaturationInAcceptedCommandList_65() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10801,7 +11325,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_64() + CHIP_ERROR TestStep6hReadTheOptionalCommandMoveToColorInAcceptedCommandList_66() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10822,7 +11346,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_65() + CHIP_ERROR TestStep6iReadTheOptionalCommandMoveColorInAcceptedCommandList_67() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10843,7 +11367,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_66() + CHIP_ERROR TestStep6jReadTheOptionalCommandStepColorInAcceptedCommandList_68() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10864,7 +11388,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_67() + CHIP_ERROR TestStep6kReadTheOptionalCommandMoveToColorTemperatureInAcceptedCommandList_69() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10885,7 +11409,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_68() + CHIP_ERROR TestStep6lReadTheOptionalCommandEnhancedMoveToHueInAcceptedCommandList_70() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10906,7 +11430,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_69() + CHIP_ERROR TestStep6mReadTheOptionalCommandEnhancedMoveHueInAcceptedCommandList_71() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10927,7 +11451,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_70() + CHIP_ERROR TestStep6nReadTheOptionalCommandEnhancedStepHueInAcceptedCommandList_72() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10948,7 +11472,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_71() + CHIP_ERROR TestStep6oReadTheOptionalCommandEnhancedMoveToHueAndSaturationInAcceptedCommandList_73() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10969,7 +11493,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_72() + CHIP_ERROR TestStep6pReadTheOptionalCommandColorLoopSetInAcceptedCommandList_74() { MTRBaseDevice * device = GetDevice("alpha"); @@ -10990,7 +11514,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_73() + CHIP_ERROR TestStep6qReadTheOptionalCommandStopMoveStepInAcceptedCommandList_75() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11011,7 +11535,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_74() + CHIP_ERROR TestStep6rReadTheOptionalCommandMoveColorTemperatureInAcceptedCommandList_76() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11032,7 +11556,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_75() + CHIP_ERROR TestStep6sReadTheOptionalCommandStepColorTemperatureInAcceptedCommandList_77() { MTRBaseDevice * device = GetDevice("alpha"); @@ -11053,7 +11577,7 @@ class Test_TC_CC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_76() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_78() { MTRBaseDevice * device = GetDevice("alpha"); @@ -27401,108 +27925,120 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("CDOCONC.S.A0007 && CDOCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip(" !PICS_EVENT_LIST_ENABLED ")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("CDOCONC.S.A0007 && CDOCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "CDOCONC.S.A0007 is not set\n"); if (ShouldSkip(" !CDOCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCdoconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCdoconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("CDOCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when CDOCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !CDOCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCdoconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCdoconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("CDOCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when CDOCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !CDOCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("CDOCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when CDOCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !CDOCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("CDOCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when CDOCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when CDOCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !CDOCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCdoconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCdoconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 27 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -27512,15 +28048,37 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 29 : Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: + ChipLogProgress(chipTool, + " ***** Test Step 31 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -27529,15 +28087,15 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 33 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -27546,7 +28104,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -27652,6 +28210,15 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -27665,7 +28232,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -27993,6 +28560,35 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterCarbonDioxideConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -28012,7 +28608,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28035,7 +28631,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCdoconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCdoconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28061,7 +28657,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28090,7 +28686,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCdoconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCdoconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28119,7 +28715,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28146,7 +28742,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf04PeaIsNotSet_21() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28172,7 +28768,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28199,7 +28795,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCdoconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28225,7 +28821,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28248,7 +28844,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCdoconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCdoconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28273,7 +28869,18 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() + { + + 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 + TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -28283,7 +28890,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28310,7 +28917,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -28320,7 +28927,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -28347,7 +28954,7 @@ class Test_TC_CDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -28985,108 +29592,120 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("CMOCONC.S.A0007 && CMOCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("CMOCONC.S.A0007 && CMOCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "CMOCONC.S.A0007 is not set\n"); if (ShouldSkip(" !CMOCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCmoconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCmoconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("CMOCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when CMOCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !CMOCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCmoconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCmoconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("CMOCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when CMOCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !CMOCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("CMOCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when CMOCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !CMOCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("CMOCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when CMOCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when CMOCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !CMOCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCmoconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCmoconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 27 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -29096,15 +29715,37 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: + ChipLogProgress(chipTool, + " ***** Test Step 29 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 31 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -29113,15 +29754,15 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the " + " ***** Test Step 33 : Step 7b: TH1 reads GeneratedCommandList from DUT. 1.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " @@ -29130,7 +29771,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -29236,6 +29877,15 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -29249,7 +29899,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -29586,6 +30236,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -29596,7 +30247,35 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterCarbonMonoxideConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29619,7 +30298,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCmoconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenCmoconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29645,7 +30324,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29674,7 +30353,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCmoconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenCmoconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29703,7 +30382,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29730,7 +30409,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf04PeaIsNotSet_21() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29756,7 +30435,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29783,7 +30462,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenCmoconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29809,7 +30488,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29832,7 +30511,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCmoconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenCmoconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29857,7 +30536,18 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() + { + + 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 + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -29867,7 +30557,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29894,7 +30584,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -29904,7 +30594,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -29931,7 +30621,7 @@ class Test_TC_CMOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bTh1ReadsGeneratedCommandListFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -30569,108 +31259,120 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("FLDCONC.S.A0007 && FLDCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("FLDCONC.S.A0007 && FLDCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "FLDCONC.S.A0007 is not set\n"); if (ShouldSkip(" !FLDCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenFldconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenFldconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("FLDCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when FLDCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !FLDCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenFldconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenFldconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("FLDCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when FLDCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !FLDCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("FLDCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when FLDCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !FLDCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("FLDCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when FLDCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when FLDCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !FLDCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenFldconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenFldconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 27 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -30680,15 +31382,37 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 29 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: + ChipLogProgress(chipTool, + " ***** Test Step 31 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -30697,15 +31421,15 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 33 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -30714,7 +31438,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -30820,6 +31544,15 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -30833,7 +31566,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -31170,6 +31903,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -31180,7 +31914,35 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterFormaldehydeConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31203,7 +31965,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenFldconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenFldconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31229,7 +31991,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31258,7 +32020,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenFldconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenFldconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31287,7 +32049,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31314,7 +32076,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf04PeaIsNotSet_21() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31340,7 +32102,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31367,7 +32129,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenFldconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31393,7 +32155,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31416,7 +32178,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenFldconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenFldconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31441,7 +32203,18 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() + { + + 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 + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -31451,7 +32224,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31478,7 +32251,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -31488,7 +32261,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -31515,7 +32288,7 @@ class Test_TC_FLDCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -32153,108 +32926,120 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("NDOCONC.S.A0007 && NDOCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("NDOCONC.S.A0007 && NDOCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "NDOCONC.S.A0007 is not set\n"); if (ShouldSkip(" !NDOCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenNdoconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenNdoconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("NDOCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when NDOCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !NDOCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenNdoconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenNdoconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("NDOCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when NDOCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !NDOCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("NDOCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when NDOCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !NDOCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("NDOCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when NDOCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !NDOCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenNdoconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenNdoconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 27 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -32264,15 +33049,37 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: + ChipLogProgress(chipTool, + " ***** Test Step 29 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 31 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -32282,15 +33089,15 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 33 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -32299,7 +33106,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -32405,6 +33212,15 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -32418,7 +33234,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -32755,6 +33571,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -32765,7 +33582,35 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterNitrogenDioxideConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -32788,7 +33633,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenNdoconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenNdoconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -32814,7 +33659,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -32843,7 +33688,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenNdoconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenNdoconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -32872,7 +33717,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -32899,7 +33744,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf04PeaIsNotSet_21() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -32925,7 +33770,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -32952,7 +33797,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenNdoconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -32978,7 +33823,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33001,7 +33846,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenNdoconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenNdoconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33026,7 +33871,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -33036,7 +33881,18 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33063,7 +33919,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -33073,7 +33929,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -33100,7 +33956,7 @@ class Test_TC_NDOCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -33734,108 +34590,120 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("OZCONC.S.A0007 && OZCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("OZCONC.S.A0007 && OZCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "OZCONC.S.A0007 is not set\n"); if (ShouldSkip(" !OZCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenOzconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenOzconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("OZCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when OZCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !OZCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenOzconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenOzconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("OZCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when OZCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !OZCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("OZCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when OZCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !OZCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("OZCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when OZCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when OZCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !OZCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenOzconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenOzconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " + " ***** Test Step 27 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " "invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -33844,15 +34712,37 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: + ChipLogProgress(chipTool, + " ***** Test Step 29 : Step 5b: Read the global attribute: EventList. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list " + "MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " + "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " + "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " + "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bReadTheGlobalAttributeEventList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 31 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -33861,15 +34751,15 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 33 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -33878,7 +34768,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -33984,6 +34874,15 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -33997,7 +34896,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -34334,6 +35233,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -34344,7 +35244,35 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterOzoneConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34367,7 +35295,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenOzconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenOzconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34393,7 +35321,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34422,7 +35350,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenOzconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenOzconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34451,7 +35379,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34477,7 +35405,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf04PeaIsNotSet_21() + CHIP_ERROR TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34503,7 +35431,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34530,7 +35458,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenOzconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34556,7 +35484,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34579,7 +35507,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenOzconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenOzconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34604,7 +35532,18 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() + { + + 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 + TestStep5bReadTheGlobalAttributeEventList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -34614,7 +35553,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34641,7 +35580,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -34651,7 +35590,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -34678,7 +35617,7 @@ class Test_TC_OZCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -35316,108 +36255,120 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("PMHCONC.S.A0007 && PMHCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("PMHCONC.S.A0007 && PMHCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "PMHCONC.S.A0007 is not set\n"); if (ShouldSkip(" !PMHCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmhconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmhconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("PMHCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when PMHCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !PMHCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmhconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmhconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMHCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when PMHCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !PMHCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMHCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when PMHCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !PMHCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("PMHCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when PMHCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when PMHCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !PMHCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmhconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmhconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 27 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -35427,15 +36378,37 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 29 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: + ChipLogProgress(chipTool, + " ***** Test Step 31 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -35444,15 +36417,15 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 33 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -35461,7 +36434,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -35567,6 +36540,15 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -35580,7 +36562,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -35908,6 +36890,35 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterPM1ConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -35927,7 +36938,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -35950,7 +36961,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmhconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmhconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -35976,7 +36987,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36005,7 +37016,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmhconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmhconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36034,7 +37045,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36061,7 +37072,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf04PeaIsNotSet_21() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36087,7 +37098,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36114,7 +37125,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmhconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36140,7 +37151,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36163,7 +37174,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmhconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmhconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36188,7 +37199,18 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() + { + + 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 + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -36198,7 +37220,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36225,7 +37247,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -36235,7 +37257,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -36262,7 +37284,7 @@ class Test_TC_PMHCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -36900,108 +37922,120 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("PMICONC.S.A0007 && PMICONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("PMICONC.S.A0007 && PMICONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "PMICONC.S.A0007 is not set\n"); if (ShouldSkip(" !PMICONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmiconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmiconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("PMICONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when PMICONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !PMICONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmiconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmiconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMICONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when PMICONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !PMICONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMICONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when PMICONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !PMICONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("PMICONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when PMICONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when PMICONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !PMICONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmiconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmiconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 27 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -37011,15 +38045,37 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 29 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: + ChipLogProgress(chipTool, + " ***** Test Step 31 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -37028,15 +38084,15 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7b: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7bReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7b: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7bReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 33 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -37045,7 +38101,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -37151,6 +38207,15 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -37164,7 +38229,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -37492,6 +38557,35 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterPM25ConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -37511,7 +38605,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37534,7 +38628,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmiconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmiconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37560,7 +38654,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37589,7 +38683,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmiconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmiconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37618,7 +38712,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37645,7 +38739,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf04PeaIsNotSet_21() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37671,7 +38765,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37698,7 +38792,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmiconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37724,7 +38818,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37747,7 +38841,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmiconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmiconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37772,7 +38866,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -37782,7 +38876,18 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37809,7 +38914,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -37819,7 +38924,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7bReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7bReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -37846,7 +38951,7 @@ class Test_TC_PMICONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -38484,108 +39589,120 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("PMKCONC.S.A0007 && PMKCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("PMKCONC.S.A0007 && PMKCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "PMKCONC.S.A0007 is not set\n"); if (ShouldSkip(" !PMKCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmkconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmkconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("PMKCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when PMKCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !PMKCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmkconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmkconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMKCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when PMKCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !PMKCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("PMKCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when PMKCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !PMKCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("PMKCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when PMKCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when PMKCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !PMKCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmkconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmkconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 27 : Step 4l: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -38595,15 +39712,37 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: + ChipLogProgress(chipTool, + " ***** Test Step 29 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 31 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -38612,15 +39751,15 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 33 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -38629,7 +39768,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -38735,6 +39874,15 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -38748,7 +39896,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -39085,6 +40233,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -39095,7 +40244,35 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterPM10ConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39118,7 +40295,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmkconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenPmkconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39144,7 +40321,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39173,7 +40350,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmkconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenPmkconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39202,7 +40379,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39229,7 +40406,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf04PeaIsNotSet_21() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39255,7 +40432,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39282,7 +40459,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenPmkconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39308,7 +40485,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39331,7 +40508,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmkconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenPmkconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39356,7 +40533,18 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() + { + + 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 + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -39366,7 +40554,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39393,7 +40581,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -39403,7 +40591,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -39430,7 +40618,7 @@ class Test_TC_PMKCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -40064,108 +41252,120 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("RNCONC.S.A0007 && RNCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("RNCONC.S.A0007 && RNCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "RNCONC.S.A0007 is not set\n"); if (ShouldSkip(" !RNCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenRnconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenRnconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("RNCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when RNCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !RNCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenRnconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenRnconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("RNCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when RNCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !RNCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("RNCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when RNCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !RNCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("RNCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when RNCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when RNCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !RNCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenRnconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenRnconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4l: TH reads the AttributeList attribute from the DUT. 1.The list SHALL NOT contain " + " ***** Test Step 27 : Step 4l: TH reads the AttributeList attribute from the DUT. 1.The list SHALL NOT contain " "any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " "0x0000_FFFE) 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " @@ -40176,15 +41376,37 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4lThReadsTheAttributeListAttributeFromTheDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4lThReadsTheAttributeListAttributeFromTheDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: + ChipLogProgress(chipTool, + " ***** Test Step 29 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any " + " ***** Test Step 31 : Step 6b: Read the global attribute AcceptedCommandList. 1. The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " @@ -40194,15 +41416,15 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " + " ***** Test Step 33 : Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " @@ -40212,7 +41434,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -40318,6 +41540,15 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -40331,7 +41562,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -40659,6 +41890,35 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterRadonConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -40678,7 +41938,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40701,7 +41961,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenRnconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenRnconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40727,7 +41987,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40756,7 +42016,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenRnconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenRnconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40785,7 +42045,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40811,7 +42071,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf04PeaIsNotSet_21() + CHIP_ERROR TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40837,7 +42097,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40864,7 +42124,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenRnconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40890,7 +42150,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40913,7 +42173,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenRnconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenRnconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40938,7 +42198,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4lThReadsTheAttributeListAttributeFromTheDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4lThReadsTheAttributeListAttributeFromTheDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -40948,7 +42208,18 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -40975,7 +42246,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -40985,7 +42256,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -41012,7 +42283,7 @@ class Test_TC_RNCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -41653,108 +42924,120 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { break; case 15: ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); - if (ShouldSkip("TVOCCONC.S.A0007 && TVOCCONC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16(); + err = TestStep4aReadTheGlobalAttributeAttributeList_16(); break; case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the optional attribute Uncertainty in AttributeList\n"); + if (ShouldSkip("TVOCCONC.S.A0007 && TVOCCONC.S.F00")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17(); + break; + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " + " ***** Test Step 18 : Step 4c: Check the optional attribute Uncertainty is excluded from AttributeList when " "TVOCCONC.S.A0007 is not set\n"); if (ShouldSkip(" !TVOCCONC.S.A0007 ")) { NextTest(); return; } - err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenTvocconcsa0007IsNotSet_17(); + err = TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenTvocconcsa0007IsNotSet_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " + " ***** Test Step 19 : Step 4d: Read the optional, feature dependent attributes MeasuredValue, MinMeasuredValue, " "MaxMeasuredValue and Measurement Unit in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.F00")) { NextTest(); return; } - err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18(); + err = TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " + " ***** Test Step 20 : Step 4e: Check that MeasuredValue, MinMeasuredValue, MaxMeasuredValue, Measurement Unit and " "Uncertainty are excluded from AttributeList when TVOCCONC.S.F00 (MEA) is not set\n"); if (ShouldSkip(" !TVOCCONC.S.F00 ")) { NextTest(); return; } - err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenTvocconcsf00MeaIsNotSet_19(); + err = TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenTvocconcsf00MeaIsNotSet_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " + " ***** Test Step 21 : Step 4f: Read the optional, feature dependent attributes PeakMeasuredValue & " "PeakMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20(); + err = TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " + " ***** Test Step 22 : Step 4g: Check that PeakMeasuredValue & PeakMeasuredValueWindow are excluded from " "AttributeList when TVOCCONC.S.F04 (PEA) is not set\n"); if (ShouldSkip(" !TVOCCONC.S.F04 ")) { NextTest(); return; } - err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf04PeaIsNotSet_21(); + err = TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf04PeaIsNotSet_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " + " ***** Test Step 23 : Step 4h: Read the optional, feature dependent attributes AverageMeasuredValue " "AverageMeasuredValueWindow in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.F05")) { NextTest(); return; } - err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22(); + err = TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " + " ***** Test Step 24 : Step 4i: Check that AverageMeasuredValue and AverageMeasuredValueWindow are excluded from " "AttributeList when TVOCCONC.S.F05 (AVG) is not set\n"); if (ShouldSkip(" !TVOCCONC.S.F05 ")) { NextTest(); return; } - err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf05AvgIsNotSet_23(); + err = TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf05AvgIsNotSet_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); + " ***** Test Step 25 : Step 4j: Read the optional, feature dependent attribute LevelValue in AttributeList\n"); if (ShouldSkip("TVOCCONC.S.F01")) { NextTest(); return; } - err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24(); + err = TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4k: Check that LevelValue is excluded from AttributeList when TVOCCONC.S.F01 (LEV) is " + " ***** Test Step 26 : Step 4k: Check that LevelValue is excluded from AttributeList when TVOCCONC.S.F01 (LEV) is " "not set\n"); if (ShouldSkip(" !TVOCCONC.S.F01 ")) { NextTest(); return; } - err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenTvocconcsf01LevIsNotSet_25(); + err = TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenTvocconcsf01LevIsNotSet_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " + " ***** Test Step 27 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -41764,15 +43047,37 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26(); - break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_27(); + err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); break; case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 29: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any " + " ***** Test Step 29 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_30(); + break; + case 31: + ChipLogProgress(chipTool, + " ***** Test Step 31 : Step 6b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " @@ -41782,15 +43087,15 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_29(); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_32(); break; - case 30: + case 33: ChipLogProgress(chipTool, - " ***** Test Step 30 : Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " + " ***** Test Step 33 : Step 7b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " @@ -41800,7 +43105,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30(); + err = TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33(); break; } @@ -41906,6 +43211,15 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { case 30: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -41919,7 +43233,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 31; + const uint16_t mTestCount = 34; chip::Optional mNodeId; chip::Optional mCluster; @@ -42271,6 +43585,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -42281,7 +43596,36 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_16() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_16() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = + [[MTRBaseClusterTotalVolatileOrganicCompoundsConcentrationMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeUncertaintyInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42305,7 +43649,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenTvocconcsa0007IsNotSet_17() + CHIP_ERROR TestStep4cCheckTheOptionalAttributeUncertaintyIsExcludedFromAttributeListWhenTvocconcsa0007IsNotSet_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42332,7 +43676,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_18() + TestStep4dReadTheOptionalFeatureDependentAttributesMeasuredValueMinMeasuredValueMaxMeasuredValueAndMeasurementUnitInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42362,7 +43706,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenTvocconcsf00MeaIsNotSet_19() + TestStep4eCheckThatMeasuredValueMinMeasuredValueMaxMeasuredValueMeasurementUnitAndUncertaintyAreExcludedFromAttributeListWhenTvocconcsf00MeaIsNotSet_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42392,7 +43736,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_20() + CHIP_ERROR TestStep4fReadTheOptionalFeatureDependentAttributesPeakMeasuredValuePeakMeasuredValueWindowInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42420,7 +43764,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf04PeaIsNotSet_21() + TestStep4gCheckThatPeakMeasuredValuePeakMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf04PeaIsNotSet_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42447,7 +43791,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_22() + CHIP_ERROR TestStep4hReadTheOptionalFeatureDependentAttributesAverageMeasuredValueAverageMeasuredValueWindowInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42475,7 +43819,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf05AvgIsNotSet_23() + TestStep4iCheckThatAverageMeasuredValueAndAverageMeasuredValueWindowAreExcludedFromAttributeListWhenTvocconcsf05AvgIsNotSet_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42502,7 +43846,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_24() + CHIP_ERROR TestStep4jReadTheOptionalFeatureDependentAttributeLevelValueInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42526,7 +43870,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenTvocconcsf01LevIsNotSet_25() + CHIP_ERROR TestStep4kCheckThatLevelValueIsExcludedFromAttributeListWhenTvocconcsf01LevIsNotSet_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42552,7 +43896,18 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_26() + TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() + { + + 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 + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -42562,7 +43917,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_27() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42590,7 +43945,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_31() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -42600,7 +43955,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_29() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -42628,7 +43983,7 @@ class Test_TC_TVOCCONC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_30() + TestStep7bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_33() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -44146,11 +45501,23 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListFromDut_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -44160,15 +45527,29 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6aThReadsAcceptedCommandListFromDut_5(); + err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; case 6: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 6 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6aThReadsAcceptedCommandListFromDut_7(); + break; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -44178,15 +45559,15 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7a: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7aThReadsGeneratedCommandListFromDut_7(); + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7a: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7aThReadsGeneratedCommandListFromDut_9(); break; - case 8: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 10 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -44195,7 +45576,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; } @@ -44235,6 +45616,12 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -44248,7 +45635,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -44324,6 +45711,40 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterOperationalCredentials alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -44349,7 +45770,18 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() + TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + { + + 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 + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -44359,7 +45791,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_5() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44390,7 +45822,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -44400,7 +45832,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_7() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44427,7 +45859,7 @@ class Test_TC_OPCREDS_1_2 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -44490,77 +45922,89 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListFromDut_4(); + break; + case 5: ChipLogProgress( - chipTool, " ***** Test Step 4 : Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList\n"); + chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute(ManufacturingDate) in attributeList\n"); if (ShouldSkip("BINFO.S.A000b")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeManufacturingDateInAttributeList_4(); + err = TestStep4bThReadsOptionalAttributeManufacturingDateInAttributeList_5(); break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4c: TH reads optional attribute(PartNumber) in attributeList\n"); + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: TH reads optional attribute(PartNumber) in attributeList\n"); if (ShouldSkip("BINFO.S.A000c")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributePartNumberInAttributeList_5(); + err = TestStep4cThReadsOptionalAttributePartNumberInAttributeList_6(); break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4d: TH reads optional attribute(ProductURL) in attributeList\n"); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4d: TH reads optional attribute(ProductURL) in attributeList\n"); if (ShouldSkip("BINFO.S.A000d")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributeProductURLInAttributeList_6(); + err = TestStep4dThReadsOptionalAttributeProductURLInAttributeList_7(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4e: TH reads optional attribute(ProductLabel) in attributeList\n"); + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4e: TH reads optional attribute(ProductLabel) in attributeList\n"); if (ShouldSkip("BINFO.S.A000e")) { NextTest(); return; } - err = TestStep4eThReadsOptionalAttributeProductLabelInAttributeList_7(); + err = TestStep4eThReadsOptionalAttributeProductLabelInAttributeList_8(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4f: TH reads optional attribute(SerialNumber) in attributeList\n"); + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4f: TH reads optional attribute(SerialNumber) in attributeList\n"); if (ShouldSkip("BINFO.S.A000f")) { NextTest(); return; } - err = TestStep4fThReadsOptionalAttributeSerialNumberInAttributeList_8(); + err = TestStep4fThReadsOptionalAttributeSerialNumberInAttributeList_9(); break; - case 9: + case 10: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList\n"); + chipTool, " ***** Test Step 10 : Step 4g: TH reads optional attribute(LocalConfigDisabled) in attributeList\n"); if (ShouldSkip("BINFO.S.A0010")) { NextTest(); return; } - err = TestStep4gThReadsOptionalAttributeLocalConfigDisabledInAttributeList_9(); + err = TestStep4gThReadsOptionalAttributeLocalConfigDisabledInAttributeList_10(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4h: TH reads optional attribute(Reachable) in attributeList\n"); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4h: TH reads optional attribute(Reachable) in attributeList\n"); if (ShouldSkip("BINFO.S.A0011")) { NextTest(); return; } - err = TestStep4hThReadsOptionalAttributeReachableInAttributeList_10(); + err = TestStep4hThReadsOptionalAttributeReachableInAttributeList_11(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4i: TH reads optional attribute(UniqueID) in attributeList\n"); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4i: TH reads optional attribute(UniqueID) in attributeList\n"); if (ShouldSkip("BINFO.S.A0012")) { NextTest(); return; } - err = TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_11(); + err = TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_12(); break; - case 12: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4j: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 13 : Step 4j: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -44570,43 +46014,65 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4jThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep4jThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5b: Read BINFO.S.E00(StartUp) event in EventList\n"); - if (ShouldSkip("BINFO.S.E00")) { + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5a: TH1 reads EventList from DUT\n"); + if (ShouldSkip(" !BINFO.S.E00 && !BINFO.S.E01 && !BINFO.S.E02 && !BINFO.S.A0011 && PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } NextTest(); return; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5c: Read BINFO.S.E01(ShutDown) event in EventList\n"); - if (ShouldSkip("BINFO.S.E01")) { + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5b: Read BINFO.S.E00(StartUp) event in EventList\n"); + if (ShouldSkip("BINFO.S.E00 && PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } NextTest(); return; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5d: Read BINFO.S.E02(Leave) event in EventList\n"); - if (ShouldSkip("BINFO.S.E02")) { + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5c: Read BINFO.S.E01(ShutDown) event in EventList\n"); + if (ShouldSkip("BINFO.S.E01 && PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } NextTest(); return; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 5e: Read (ReachableChanged) event in EventList\n"); - if (ShouldSkip("BINFO.S.A0011")) { + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 5d: Read BINFO.S.E02(Leave) event in EventList\n"); + if (ShouldSkip("BINFO.S.E02 && PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } NextTest(); return; - case 17: + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 5e: Read (ReachableChanged) event in EventList\n"); + if (ShouldSkip("BINFO.S.A0011 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 19: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 19 : Step 5f: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " + "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5fThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); + break; + case 20: + ChipLogProgress(chipTool, + " ***** Test Step 20 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -44615,11 +46081,11 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20(); break; - case 18: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 21 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -44628,7 +46094,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21(); break; } @@ -44698,6 +46164,15 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -44711,7 +46186,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 19; + const uint16_t mTestCount = 22; chip::Optional mNodeId; chip::Optional mCluster; @@ -44801,6 +46276,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 19UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -44811,7 +46287,44 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeManufacturingDateInAttributeList_4() + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterBasicInformation alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bThReadsOptionalAttributeManufacturingDateInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44832,7 +46345,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributePartNumberInAttributeList_5() + CHIP_ERROR TestStep4cThReadsOptionalAttributePartNumberInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44853,7 +46366,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeProductURLInAttributeList_6() + CHIP_ERROR TestStep4dThReadsOptionalAttributeProductURLInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44874,7 +46387,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsOptionalAttributeProductLabelInAttributeList_7() + CHIP_ERROR TestStep4eThReadsOptionalAttributeProductLabelInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44895,7 +46408,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsOptionalAttributeSerialNumberInAttributeList_8() + CHIP_ERROR TestStep4fThReadsOptionalAttributeSerialNumberInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44916,7 +46429,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsOptionalAttributeLocalConfigDisabledInAttributeList_9() + CHIP_ERROR TestStep4gThReadsOptionalAttributeLocalConfigDisabledInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44937,7 +46450,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsOptionalAttributeReachableInAttributeList_10() + CHIP_ERROR TestStep4hThReadsOptionalAttributeReachableInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44958,7 +46471,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_11() + CHIP_ERROR TestStep4iThReadsOptionalAttributeUniqueIDInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -44980,7 +46493,18 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4jThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + TestStep4jThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR + TestStep5fThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -44991,7 +46515,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45002,7 +46526,7 @@ class Test_TC_BINFO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45096,39 +46620,51 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_6(); break; case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aReadTheGlobalAttributeAttributeList_7(); + break; + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 4b: Read mandatory attributes in AttributeList if " + " ***** Test Step 8 : Step 4b: Read mandatory attributes in AttributeList if " "CNET.S.F00(WI)/CNET.S.F01(TH)/CNET.S.F02(ET) is true\n"); if (ShouldSkip("CNET.S.F00 || CNET.S.F01 || CNET.S.F02")) { NextTest(); return; } - err = TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_7(); + err = TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_8(); break; - case 8: + case 9: ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList\n"); + chipTool, " ***** Test Step 9 : Step 4c: Read the optional attribute(ScanMaxTimeSeconds): AttributeList\n"); if (ShouldSkip("CNET.S.A0002")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_8(); + err = TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_9(); break; - case 9: + case 10: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList\n"); + chipTool, " ***** Test Step 10 : Step 4d: Reading optional attribute(ConnectMaxTimeSeconds) in AttributeList\n"); if (ShouldSkip("CNET.S.A0003")) { NextTest(); return; } - err = TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_9(); + err = TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_10(); break; - case 10: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 11 : Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -45138,51 +46674,65 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { NextTest(); return; } - err = TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); break; - case 11: + case 12: + ChipLogProgress(chipTool, + " ***** Test Step 12 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + break; + case 13: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features " + " ***** Test Step 13 : Step 6a: Read AcceptedCommandList If DUT supports Wi-Fi/Thread related features " "CNET.S.F00(WI),CNET.S.F01(TH)\n"); if (ShouldSkip("( CNET.S.F00 || CNET.S.F01 )")) { NextTest(); return; } - err = TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_11(); + err = TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_13(); break; - case 12: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is " + " ***** Test Step 14 : Step 6b: Read AcceptedCommandList If DUT supports Wi-Fi related features (CNET.S.F00(WI) is " "true)\n"); if (ShouldSkip("CNET.S.F00")) { NextTest(); return; } - err = TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_12(); + err = TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_14(); break; - case 13: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is " + " ***** Test Step 15 : Step 6c: Read AcceptedCommandList If DUT supports Thread related features(CNET.S.F01(TH) is " "true)\n"); if (ShouldSkip("CNET.S.F01")) { NextTest(); return; } - err = TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_13(); + err = TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_15(); break; - case 14: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) " + " ***** Test Step 16 : Step 6d: Read AcceptedCommandList If DUT supports Ethernet related features(CNET.S.F02(TH) " "is true)\n"); if (ShouldSkip("CNET.S.F02")) { NextTest(); return; } - err = TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_14(); + err = TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_16(); break; - case 15: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 17 : Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -45192,31 +46742,31 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { NextTest(); return; } - err = TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); + err = TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); break; - case 16: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related " + " ***** Test Step 18 : Step 7a: Read the GeneratedCommandList If DUT supports Wi-Fi/Thread related " "features(CNET.S.F00(WI) or CNET.S.F01(TH) is true)\n"); if (ShouldSkip("( CNET.S.F00 || CNET.S.F01 )")) { NextTest(); return; } - err = TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_16(); + err = TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_18(); break; - case 17: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related " + " ***** Test Step 19 : Step 7b: Read the GeneratedCommandList If DUT supports Ethernet related " "features(CNET.S.F02(ET) must be true)\n"); if (ShouldSkip("CNET.S.F02")) { NextTest(); return; } - err = TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_17(); + err = TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_19(); break; - case 18: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 7c: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 20 : Step 7c: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -45225,7 +46775,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { NextTest(); return; } - err = TestStep7cThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); + err = TestStep7cThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20(); break; } @@ -45295,6 +46845,12 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -45308,7 +46864,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 19; + const uint16_t mTestCount = 21; chip::Optional mNodeId; chip::Optional mCluster; @@ -45466,6 +47022,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -45476,7 +47033,34 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_7() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_7() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterNetworkCommissioning alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadMandatoryAttributesInAttributeListIfCnetsf00wiCnetsf01thCnetsf02etIsTrue_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45506,7 +47090,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_8() + CHIP_ERROR TestStep4cReadTheOptionalAttributeScanMaxTimeSecondsAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45529,7 +47113,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_9() + CHIP_ERROR TestStep4dReadingOptionalAttributeConnectMaxTimeSecondsInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45553,7 +47137,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { } CHIP_ERROR - TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45563,7 +47147,18 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_11() + CHIP_ERROR + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + { + + 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 TestStep6aReadAcceptedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCnetsf00wicnetsf01th_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45591,7 +47186,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_12() + CHIP_ERROR TestStep6bReadAcceptedCommandListIfDutSupportsWiFiRelatedFeaturesCnetsf00wiIsTrue_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45615,7 +47210,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_13() + CHIP_ERROR TestStep6cReadAcceptedCommandListIfDutSupportsThreadRelatedFeaturesCNETSF01THIsTrue_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45639,7 +47234,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_14() + CHIP_ERROR TestStep6dReadAcceptedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02THIsTrue_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45666,7 +47261,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { } CHIP_ERROR - TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() + TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45676,7 +47271,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_16() + CHIP_ERROR TestStep7aReadTheGeneratedCommandListIfDutSupportsWiFiThreadRelatedFeaturesCNETSF00WIOrCnetsf01thIsTrue_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45703,7 +47298,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_17() + CHIP_ERROR TestStep7bReadTheGeneratedCommandListIfDutSupportsEthernetRelatedFeaturesCNETSF02ETMustBeTrue_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -45731,7 +47326,7 @@ class Test_TC_CNET_1_3 : public TestCommandBridge { } CHIP_ERROR - TestStep7cThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + TestStep7cThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45798,11 +47393,23 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aReadTheGlobalAttributeAttributeList_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -45812,11 +47419,25 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); + err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 5: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 6 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + break; + case 7: + ChipLogProgress(chipTool, + " ***** Test Step 7 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -45825,11 +47446,11 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); break; - case 6: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 8 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -45838,7 +47459,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; } @@ -45872,6 +47493,12 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -45885,7 +47512,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -45941,6 +47568,36 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterDescriptor alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterDescriptor alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -45964,7 +47621,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() + TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45975,7 +47632,7 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -45986,7 +47643,18 @@ class Test_TC_DESC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + { + + 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 + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46049,11 +47717,23 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TTH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aTthReadsAttributeListFromDut_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TTH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aTthReadsAttributeListFromDut_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: TTH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4b: TTH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -46063,15 +47743,29 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bTthReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6a: TTH reads AcceptedCommandList from DUT\n"); - err = TestStep6aTthReadsAcceptedCommandListFromDut_5(); + err = TestStep4bTthReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; case 6: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 6b: TTH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 6 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: TTH reads AcceptedCommandList from DUT\n"); + err = TestStep6aTthReadsAcceptedCommandListFromDut_7(); + break; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 6b: TTH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -46081,16 +47775,16 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bTthReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep6bTthReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7a: TTH reads GeneratedCommandList from DUT\n"); - err = TestStep7aTthReadsGeneratedCommandListFromDut_7(); + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7a: TTH reads GeneratedCommandList from DUT\n"); + err = TestStep7aTthReadsGeneratedCommandListFromDut_9(); break; - case 8: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 7b: TTH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " - "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " + " ***** Test Step 10 : Step 7b: TTH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values " + "in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " "0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); @@ -46098,7 +47792,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bTthReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep7bTthReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; } @@ -46138,6 +47832,12 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -46151,7 +47851,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -46221,6 +47921,32 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterDiagnosticLogs alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TTH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aTthReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterDiagnosticLogs alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TTH reads AttributeList from DUT Error: %@", err); @@ -46240,7 +47966,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bTthReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() + TestStep4bTthReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46250,7 +47976,18 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aTthReadsAcceptedCommandListFromDut_5() + CHIP_ERROR + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep6aTthReadsAcceptedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46276,7 +48013,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bTthReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6bTthReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46286,7 +48023,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aTthReadsGeneratedCommandListFromDut_7() + CHIP_ERROR TestStep7aTthReadsGeneratedCommandListFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46312,7 +48049,7 @@ class Test_TC_DLOG_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bTthReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep7bTthReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46397,95 +48134,107 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4b: TH reads optional attribute(PHYRate) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributePHYRateInAttributeList_6(); + err = TestStep4aThReadsAttributeListFromDut_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4c: TH reads optional attribute(FullDuplex) in AttributeList\n"); - if (ShouldSkip("DGETH.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4b: TH reads optional attribute(PHYRate) in AttributeList\n"); + if (ShouldSkip("DGETH.S.A0000")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributeFullDuplexInAttributeList_7(); + err = TestStep4bThReadsOptionalAttributePHYRateInAttributeList_7(); break; case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4c: TH reads optional attribute(FullDuplex) in AttributeList\n"); + if (ShouldSkip("DGETH.S.A0001")) { + NextTest(); + return; + } + err = TestStep4cThReadsOptionalAttributeFullDuplexInAttributeList_8(); + break; + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4d: TH reads optional attribute(PacketRxCount) and Feature " + " ***** Test Step 9 : Step 4d: TH reads optional attribute(PacketRxCount) and Feature " "dependent(DGETH.S.F00(PKTCNT)) in AttributeList\n"); if (ShouldSkip("DGETH.S.A0002")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_8(); + err = TestStep4dThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_9(); break; - case 9: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4e: TH reads optional attribute(PacketRxCount) and Feature " + " ***** Test Step 10 : Step 4e: TH reads optional attribute(PacketRxCount) and Feature " "dependent(DGETH.S.F00(PKTCNT)) in AttributeList\n"); if (ShouldSkip("DGETH.S.A0003")) { NextTest(); return; } - err = TestStep4eThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_9(); + err = TestStep4eThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_10(); break; - case 10: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4f: TH reads optional attribute(PacketRxCount) and Feature " + " ***** Test Step 11 : Step 4f: TH reads optional attribute(PacketRxCount) and Feature " "dependent(DGETH.S.F01(ERRCNT)) in AttributeList\n"); if (ShouldSkip("DGETH.S.A0004")) { NextTest(); return; } - err = TestStep4fThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_10(); + err = TestStep4fThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_11(); break; - case 11: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4g: TH reads optional attribute(PacketRxCount) and Feature " + " ***** Test Step 12 : Step 4g: TH reads optional attribute(PacketRxCount) and Feature " "dependent(DGETH.S.F01(ERRCNT)) in AttributeList\n"); if (ShouldSkip("DGETH.S.A0005")) { NextTest(); return; } - err = TestStep4gThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_11(); + err = TestStep4gThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_12(); break; - case 12: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4h: TH reads optional attribute(PacketRxCount) and Feature " + " ***** Test Step 13 : Step 4h: TH reads optional attribute(PacketRxCount) and Feature " "dependent(DGETH.S.F01(ERRCNT)) in AttributeList\n"); if (ShouldSkip("DGETH.S.A0006")) { NextTest(); return; } - err = TestStep4hThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_12(); + err = TestStep4hThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_13(); break; - case 13: + case 14: ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList\n"); + chipTool, " ***** Test Step 14 : Step 4i: TH reads optional attribute(CarrierDetect) in AttributeList\n"); if (ShouldSkip("DGETH.S.A0007")) { NextTest(); return; } - err = TestStep4iThReadsOptionalAttributeCarrierDetectInAttributeList_13(); + err = TestStep4iThReadsOptionalAttributeCarrierDetectInAttributeList_14(); break; - case 14: + case 15: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList\n"); + chipTool, " ***** Test Step 15 : Step 4j: TH reads optional attribute(TimeSinceReset) in AttributeList\n"); if (ShouldSkip("DGETH.S.A0008")) { NextTest(); return; } - err = TestStep4jThReadsOptionalAttributeTimeSinceResetInAttributeList_14(); + err = TestStep4jThReadsOptionalAttributeTimeSinceResetInAttributeList_15(); break; - case 15: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 4k: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 16 : Step 4k: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -46495,27 +48244,41 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4kThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); + err = TestStep4kThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); break; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + case 17: + ChipLogProgress(chipTool, + " ***** Test Step 17 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); + break; + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6a: TH reads AcceptedCommandList from DUT\n"); if (ShouldSkip("( DGETH.S.F00 || DGETH.S.F01 )")) { NextTest(); return; } - err = TestStep6aThReadsAcceptedCommandListFromDut_16(); + err = TestStep6aThReadsAcceptedCommandListFromDut_18(); break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 6b: TH reads AcceptedCommandList from DUT\n"); + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : Step 6b: TH reads AcceptedCommandList from DUT\n"); if (ShouldSkip(" !DGETH.S.F00 && !DGETH.S.F01 ")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListFromDut_17(); + err = TestStep6bThReadsAcceptedCommandListFromDut_19(); break; - case 18: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 20 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -46525,11 +48288,11 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); + err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20(); break; - case 19: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 21 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -46538,7 +48301,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21(); break; } @@ -46611,6 +48374,12 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { case 19: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -46624,7 +48393,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 20; + const uint16_t mTestCount = 22; chip::Optional mNodeId; chip::Optional mCluster; @@ -46750,6 +48519,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -46760,7 +48530,34 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributePHYRateInAttributeList_6() + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_6() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterEthernetNetworkDiagnostics alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bThReadsOptionalAttributePHYRateInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46783,7 +48580,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeFullDuplexInAttributeList_7() + CHIP_ERROR TestStep4cThReadsOptionalAttributeFullDuplexInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46806,7 +48603,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_8() + CHIP_ERROR TestStep4dThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46831,7 +48628,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_9() + CHIP_ERROR TestStep4eThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF00PKTCNTInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46856,7 +48653,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_10() + CHIP_ERROR TestStep4fThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46881,7 +48678,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_11() + CHIP_ERROR TestStep4gThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46906,7 +48703,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_12() + CHIP_ERROR TestStep4hThReadsOptionalAttributePacketRxCountAndFeatureDependentDGETHSF01ERRCNTInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46931,7 +48728,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsOptionalAttributeCarrierDetectInAttributeList_13() + CHIP_ERROR TestStep4iThReadsOptionalAttributeCarrierDetectInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46954,7 +48751,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jThReadsOptionalAttributeTimeSinceResetInAttributeList_14() + CHIP_ERROR TestStep4jThReadsOptionalAttributeTimeSinceResetInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -46978,7 +48775,18 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4kThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() + TestStep4kThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + { + + 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 + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -46988,7 +48796,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_16() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47011,7 +48819,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_17() + CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -47038,7 +48846,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_20() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -47049,7 +48857,7 @@ class Test_TC_DGETH_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -48481,19 +50289,31 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); - if (ShouldSkip("FLW.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4(); + err = TestStep4aReadTheGlobalAttributeAttributeList_4(); break; case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("FLW.S.A0003")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5(); + break; + case 6: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 6 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -48503,11 +50323,25 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); + err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 6: + case 7: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 7 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + break; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -48517,11 +50351,11 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; - case 7: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 9 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -48530,7 +50364,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); break; } @@ -48567,6 +50401,12 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -48580,7 +50420,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 10; chip::Optional mNodeId; chip::Optional mCluster; @@ -48650,6 +50490,35 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterFlowMeasurement alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterFlowMeasurement alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -48671,7 +50540,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4() + CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -48693,7 +50562,18 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -48704,7 +50584,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -48715,7 +50595,7 @@ class Test_TC_FLW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49013,11 +50893,23 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListFromDut_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4b: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -49027,11 +50919,25 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); + err = TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 5: + case 6: + ChipLogProgress(chipTool, + " ***** Test Step 6 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + break; + case 7: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 7 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -49040,11 +50946,11 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); break; - case 6: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 8 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -49053,7 +50959,7 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; } @@ -49087,6 +50993,12 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -49100,7 +51012,7 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -49170,6 +51082,33 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterFixedLabel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterFixedLabel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -49190,7 +51129,7 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() + TestStep4bThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49201,7 +51140,7 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49212,7 +51151,18 @@ class Test_TC_FLABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + { + + 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 + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49337,47 +51287,59 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_9(); break; case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep3aReadTheGlobalAttributeAttributeList_10(); + break; + case 11: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 3b: Read the feature dependent FAN.S.F00 (SPD) attribute in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 3b: Read the feature dependent FAN.S.F00 (SPD) attribute in AttributeList\n"); if (ShouldSkip("FAN.S.F00")) { NextTest(); return; } - err = TestStep3bReadTheFeatureDependentFansf00SpdAttributeInAttributeList_10(); + err = TestStep3bReadTheFeatureDependentFansf00SpdAttributeInAttributeList_11(); break; - case 11: + case 12: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 3c: Read the feature dependent FAN.S.F02(RCK) attribute in AttributeList\n"); + chipTool, " ***** Test Step 12 : Step 3c: Read the feature dependent FAN.S.F02(RCK) attribute in AttributeList\n"); if (ShouldSkip("FAN.S.F02")) { NextTest(); return; } - err = TestStep3cReadTheFeatureDependentFansf02rckAttributeInAttributeList_11(); + err = TestStep3cReadTheFeatureDependentFansf02rckAttributeInAttributeList_12(); break; - case 12: + case 13: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 3d: Read the feature dependent FAN.S.F03(WND) attribute in AttributeList\n"); + chipTool, " ***** Test Step 13 : Step 3d: Read the feature dependent FAN.S.F03(WND) attribute in AttributeList\n"); if (ShouldSkip("FAN.S.F03")) { NextTest(); return; } - err = TestStep3dReadTheFeatureDependentFansf03wndAttributeInAttributeList_12(); + err = TestStep3dReadTheFeatureDependentFansf03wndAttributeInAttributeList_13(); break; - case 13: + case 14: ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 3e: Read the feature dependent FAN.S.F05(DIR) attribute in AttributeList\n"); + chipTool, " ***** Test Step 14 : Step 3e: Read the feature dependent FAN.S.F05(DIR) attribute in AttributeList\n"); if (ShouldSkip("FAN.S.F05")) { NextTest(); return; } - err = TestStep3eReadTheFeatureDependentFansf05dirAttributeInAttributeList_13(); + err = TestStep3eReadTheFeatureDependentFansf05dirAttributeInAttributeList_14(); break; - case 14: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 3f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 15 : Step 3f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -49387,19 +51349,19 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep3fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); + err = TestStep3fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AcceptedCommandList\n"); + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AcceptedCommandList\n"); if (ShouldSkip(" !FAN.S.C00.Rsp ")) { NextTest(); return; } - err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_15(); + err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_16(); break; - case 16: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 4b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 17 : Step 4b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -49409,20 +51371,20 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + err = TestStep4bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); break; - case 17: + case 18: ChipLogProgress( - chipTool, " ***** Test Step 17 : Step 5a: Read the optional command (ResetCondition) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 18 : Step 5a: Read the optional command (ResetCondition) in AcceptedCommandList\n"); if (ShouldSkip("FAN.S.C00.Rsp")) { NextTest(); return; } - err = TestStep5aReadTheOptionalCommandResetConditionInAcceptedCommandList_17(); + err = TestStep5aReadTheOptionalCommandResetConditionInAcceptedCommandList_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 5b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " + " ***** Test Step 19 : Step 5b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY " "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is " "the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in " @@ -49432,7 +51394,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep5bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); + err = TestStep5bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); break; } @@ -49502,6 +51464,9 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -49515,7 +51480,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 19; + const uint16_t mTestCount = 20; chip::Optional mNodeId; chip::Optional mCluster; @@ -49685,6 +51650,36 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterFanControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_10() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterFanControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -49707,7 +51702,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheFeatureDependentFansf00SpdAttributeInAttributeList_10() + CHIP_ERROR TestStep3bReadTheFeatureDependentFansf00SpdAttributeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -49730,7 +51725,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheFeatureDependentFansf02rckAttributeInAttributeList_11() + CHIP_ERROR TestStep3cReadTheFeatureDependentFansf02rckAttributeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -49752,7 +51747,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheFeatureDependentFansf03wndAttributeInAttributeList_12() + CHIP_ERROR TestStep3dReadTheFeatureDependentFansf03wndAttributeInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -49774,7 +51769,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3eReadTheFeatureDependentFansf05dirAttributeInAttributeList_13() + CHIP_ERROR TestStep3eReadTheFeatureDependentFansf05dirAttributeInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -49796,7 +51791,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep3fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() + TestStep3fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49806,7 +51801,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_15() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -49831,7 +51826,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + TestStep4bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -49841,7 +51836,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep5aReadTheOptionalCommandResetConditionInAcceptedCommandList_17() + CHIP_ERROR TestStep5aReadTheOptionalCommandResetConditionInAcceptedCommandList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -49863,7 +51858,7 @@ class Test_TC_FAN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep5bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + TestStep5bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -51753,15 +53748,35 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_7(); break; } @@ -51792,6 +53807,12 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -51805,7 +53826,7 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 6; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -51894,6 +53915,7 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -51904,7 +53926,39 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_4() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterGeneralCommissioning alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -51929,7 +53983,7 @@ class Test_TC_CGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_5() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52334,63 +54388,75 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read optional attribute(UpTime) in AttributeList\n"); - if (ShouldSkip("DGGEN.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadOptionalAttributeUpTimeInAttributeList_4(); + err = TestStep4aReadTheGlobalAttributeAttributeList_4(); break; case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read optional attribute(UpTime) in AttributeList\n"); + if (ShouldSkip("DGGEN.S.A0002")) { + NextTest(); + return; + } + err = TestStep4bReadOptionalAttributeUpTimeInAttributeList_5(); + break; + case 6: ChipLogProgress( - chipTool, " ***** Test Step 5 : Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList\n"); + chipTool, " ***** Test Step 6 : Step 4c: Read optional attribute(TotalOperationalHours) in AttributeList\n"); if (ShouldSkip("DGGEN.S.A0003")) { NextTest(); return; } - err = TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_5(); + err = TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_6(); break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4d: Read optional attribute(BootReason) in AttributeList\n"); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4d: Read optional attribute(BootReason) in AttributeList\n"); if (ShouldSkip("DGGEN.S.A0004")) { NextTest(); return; } - err = TestStep4dReadOptionalAttributeBootReasonInAttributeList_6(); + err = TestStep4dReadOptionalAttributeBootReasonInAttributeList_7(); break; - case 7: + case 8: ChipLogProgress( - chipTool, " ***** Test Step 7 : Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList\n"); + chipTool, " ***** Test Step 8 : Step 4e: Read optional attribute(ActiveHardwareFaults) in AttributeList\n"); if (ShouldSkip("DGGEN.S.A0005")) { NextTest(); return; } - err = TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_7(); + err = TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_8(); break; - case 8: + case 9: ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList\n"); + chipTool, " ***** Test Step 9 : Step 4f: Read optional attribute(ActiveRadioFaults) in AttributeList\n"); if (ShouldSkip("DGGEN.S.A0006")) { NextTest(); return; } - err = TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_8(); + err = TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_9(); break; - case 9: + case 10: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList\n"); + chipTool, " ***** Test Step 10 : Step 4g: Read optional attribute(ActiveNetworkFaults) in AttributeList\n"); if (ShouldSkip("DGGEN.S.A0007")) { NextTest(); return; } - err = TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_9(); + err = TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_10(); break; - case 10: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 11 : Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -52400,15 +54466,61 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); - break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_11(); + err = TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); break; case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5b: Read optional event(HardwareFaultChange) in EventList\n"); + if (ShouldSkip("DGGEN.S.E00 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5c: Read optional event(RadioFaultChange) in EventList\n"); + if (ShouldSkip("DGGEN.S.E01 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5d: Read optional event(NetworkFaultChange) in EventList\n"); + if (ShouldSkip("DGGEN.S.E02 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 16: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 16 : Step 5e: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5eThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + break; + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_17(); + break; + case 18: + ChipLogProgress(chipTool, + " ***** Test Step 18 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -52418,11 +54530,11 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); break; - case 13: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 19 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -52431,7 +54543,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); break; } @@ -52486,6 +54598,24 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -52499,7 +54629,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 14; + const uint16_t mTestCount = 20; chip::Optional mNodeId; chip::Optional mCluster; @@ -52586,6 +54716,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -52596,7 +54727,37 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadOptionalAttributeUpTimeInAttributeList_4() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterGeneralDiagnostics alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadOptionalAttributeUpTimeInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52619,7 +54780,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_5() + CHIP_ERROR TestStep4cReadOptionalAttributeTotalOperationalHoursInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52642,7 +54803,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadOptionalAttributeBootReasonInAttributeList_6() + CHIP_ERROR TestStep4dReadOptionalAttributeBootReasonInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52665,7 +54826,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_7() + CHIP_ERROR TestStep4eReadOptionalAttributeActiveHardwareFaultsInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52688,7 +54849,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_8() + CHIP_ERROR TestStep4fReadOptionalAttributeActiveRadioFaultsInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52711,7 +54872,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_9() + CHIP_ERROR TestStep4gReadOptionalAttributeActiveNetworkFaultsInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52735,7 +54896,18 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR + TestStep5eThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -52745,7 +54917,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_11() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -52769,7 +54941,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -52780,7 +54952,7 @@ class Test_TC_DGGEN_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -53347,11 +55519,23 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_4(); break; case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip(" !PICS_EVENT_LIST_ENABLED ")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListFromDut_5(); + break; + case 6: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: The list SHALL NOT contain any additional values in the standard or scoped range: " + " ***** Test Step 6 : Step 4b: The list SHALL NOT contain any additional values in the standard or scoped range: " "(0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). 2.The list MAY contain values in the Manufacturer " "Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - " "0xFFF1), these values SHALL be ignored. 3.TThe list SHALL NOT contain any values in the Test Vendor or invalid " @@ -53361,11 +55545,33 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); + err = TestStep4bTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 6: + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5a: TH1 reads EventList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 8: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " + " ***** Test Step 8 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + break; + case 9: + ChipLogProgress(chipTool, + " ***** Test Step 9 : Step 5b: TH reads EventList attribute from DUT. 1.The list SHALL NOT contain any additional " "values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test Vendor or " @@ -53375,15 +55581,15 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6aThReadsAcceptedCommandListFromDut_7(); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6aThReadsAcceptedCommandListFromDut_10(); break; - case 8: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 11 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -53392,15 +55598,15 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7a: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7aThReadsGeneratedCommandListFromDut_9(); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 7a: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7aThReadsGeneratedCommandListFromDut_12(); break; - case 10: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 13 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -53409,7 +55615,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); break; } @@ -53455,6 +55661,15 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -53468,7 +55683,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 14; chip::Optional mNodeId; chip::Optional mCluster; @@ -53565,6 +55780,38 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterGroupKeyManagement alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -53588,7 +55835,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep4bTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -53599,7 +55846,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -53609,7 +55856,18 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_7() + CHIP_ERROR + TestStep5bThReadsEventListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + { + + 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 TestStep6aThReadsAcceptedCommandListFromDut_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53636,7 +55894,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -53646,7 +55904,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_9() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -53671,7 +55929,7 @@ class Test_TC_GRPKEY_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -53746,37 +56004,49 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList attribute from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListAttributeFromDut_4(); break; case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList attribute from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListAttributeFromDut_5(); + break; + case 6: ChipLogProgress( - chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(RegisteredClients) in AttributeList\n"); + chipTool, " ***** Test Step 6 : Step 4b: Read the optional attribute(RegisteredClients) in AttributeList\n"); if (ShouldSkip("ICDM.S.A0003")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeRegisteredClientsInAttributeList_5(); + err = TestStep4bReadTheOptionalAttributeRegisteredClientsInAttributeList_6(); break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4c: Read the optional attribute(IcdCounter) in AttributeList\n"); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4c: Read the optional attribute(IcdCounter) in AttributeList\n"); if (ShouldSkip("ICDM.S.A0004")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeIcdCounterInAttributeList_6(); + err = TestStep4cReadTheOptionalAttributeIcdCounterInAttributeList_7(); break; - case 7: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList\n"); + " ***** Test Step 8 : Step 4d: Read the optional attribute(ClientsSupportedPerFabric) in AttributeList\n"); if (ShouldSkip("ICDM.S.A0005")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeClientsSupportedPerFabricInAttributeList_7(); + err = TestStep4dReadTheOptionalAttributeClientsSupportedPerFabricInAttributeList_8(); break; - case 8: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 9 : Step 4e: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -53786,37 +56056,59 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6a: TH reads AcceptedCommandList attribute from DUT\n"); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 5a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 11: + ChipLogProgress(chipTool, + " ***** Test Step 11 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); + break; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6a: TH reads AcceptedCommandList attribute from DUT\n"); if (ShouldSkip(" !ICDM.S.F00 && !ICDM.S.C03.Rsp ")) { NextTest(); return; } - err = TestStep6aThReadsAcceptedCommandListAttributeFromDut_9(); + err = TestStep6aThReadsAcceptedCommandListAttributeFromDut_12(); break; - case 10: + case 13: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 6b: TH reads AcceptedCommandList attribute from DUT if ICDM.S.F00 is true\n"); + chipTool, " ***** Test Step 13 : Step 6b: TH reads AcceptedCommandList attribute from DUT if ICDM.S.F00 is true\n"); if (ShouldSkip("ICDM.S.F00")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDutIfIcdmsf00IsTrue_10(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDutIfIcdmsf00IsTrue_13(); break; - case 11: + case 14: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 6c: Read the optional command (StayActiveRequest) in AttributeList\n"); + chipTool, " ***** Test Step 14 : Step 6c: Read the optional command (StayActiveRequest) in AttributeList\n"); if (ShouldSkip("ICDM.S.C03.Rsp")) { NextTest(); return; } - err = TestStep6cReadTheOptionalCommandStayActiveRequestInAttributeList_11(); + err = TestStep6cReadTheOptionalCommandStayActiveRequestInAttributeList_14(); break; - case 12: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 6d: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 15 : Step 6d: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -53826,27 +56118,27 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6dThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep6dThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); if (ShouldSkip(" !ICDM.S.F00 ")) { NextTest(); return; } - err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_13(); + err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_16(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); if (ShouldSkip("ICDM.S.F00")) { NextTest(); return; } - err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_14(); + err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_17(); break; - case 15: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 18 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -53855,7 +56147,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); break; } @@ -53916,6 +56208,15 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -53929,7 +56230,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 16; + const uint16_t mTestCount = 19; chip::Optional mNodeId; chip::Optional mCluster; @@ -54023,6 +56324,35 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterICDManagement alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList attribute from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsAttributeListAttributeFromDut_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterICDManagement alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList attribute from DUT Error: %@", err); @@ -54044,7 +56374,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeRegisteredClientsInAttributeList_5() + CHIP_ERROR TestStep4bReadTheOptionalAttributeRegisteredClientsInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54065,7 +56395,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeIcdCounterInAttributeList_6() + CHIP_ERROR TestStep4cReadTheOptionalAttributeIcdCounterInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54086,7 +56416,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeClientsSupportedPerFabricInAttributeList_7() + CHIP_ERROR TestStep4dReadTheOptionalAttributeClientsSupportedPerFabricInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54108,7 +56438,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep4eThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -54118,7 +56448,18 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListAttributeFromDut_9() + CHIP_ERROR + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep6aThReadsAcceptedCommandListAttributeFromDut_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54142,7 +56483,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsAcceptedCommandListAttributeFromDutIfIcdmsf00IsTrue_10() + CHIP_ERROR TestStep6bThReadsAcceptedCommandListAttributeFromDutIfIcdmsf00IsTrue_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54164,7 +56505,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadTheOptionalCommandStayActiveRequestInAttributeList_11() + CHIP_ERROR TestStep6cReadTheOptionalCommandStayActiveRequestInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54186,7 +56527,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6dThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + TestStep6dThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -54196,7 +56537,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aThReadsGeneratedCommandListAttributeFromDut_13() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListAttributeFromDut_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54220,7 +56561,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7aThReadsGeneratedCommandListAttributeFromDut_14() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListAttributeFromDut_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54242,7 +56583,7 @@ class Test_TC_ICDM_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -54589,25 +56930,47 @@ class Test_TC_I_1_1 : public TestCommandBridge { err = TestStep3ThReadsTheFeatureMapAttributeFromTheDut_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); - err = TestStep4ReadTheGlobalAttributeAttributeList_3(); + ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ThReadsAttributeListFromDut_4(); break; case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_5(); + break; + case 6: ChipLogProgress( - chipTool, " ***** Test Step 5 : Step 6: Read the optional command(TriggerEffect) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 6 : Step 6: Read the optional command(TriggerEffect) in AcceptedCommandList\n"); if (ShouldSkip("I.S.C40.Rsp")) { NextTest(); return; } - err = TestStep6ReadTheOptionalCommandTriggerEffectInAcceptedCommandList_5(); + err = TestStep6ReadTheOptionalCommandTriggerEffectInAcceptedCommandList_6(); break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_6(); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_7(); + break; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 7: Read EventList attribute from the DUT. For this cluster the list is usually empty " + "but it can contain manufacturer specific event IDs.\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep7ReadEventListAttributeFromTheDutForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_8(); break; } @@ -54641,6 +57004,12 @@ class Test_TC_I_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -54654,7 +57023,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -54717,7 +57086,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_3() + CHIP_ERROR TestStep4ThReadsAttributeListFromDut_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54725,7 +57094,34 @@ class Test_TC_I_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Step 4: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ThReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterIdentify alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: TH reads AttributeList from DUT Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -54744,7 +57140,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_4() + CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54765,7 +57161,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheOptionalCommandTriggerEffectInAcceptedCommandList_5() + CHIP_ERROR TestStep6ReadTheOptionalCommandTriggerEffectInAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54786,7 +57182,7 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -54809,6 +57205,17 @@ class Test_TC_I_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7ReadEventListAttributeFromTheDutForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_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); + } }; class Test_TC_I_2_1 : public TestCommandBridge { @@ -56067,32 +58474,54 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); - if (ShouldSkip("ILL.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4(); + err = TestStep4aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress( - chipTool, " ***** Test Step 5 : Step 4c: Read the optional attribute(LightSensorType) in AttributeList\n"); - if (ShouldSkip("ILL.S.A0004")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("ILL.S.A0003")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeLightSensorTypeInAttributeList_5(); + err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_6(); + ChipLogProgress( + chipTool, " ***** Test Step 6 : Step 4c: Read the optional attribute(LightSensorType) in AttributeList\n"); + if (ShouldSkip("ILL.S.A0004")) { + NextTest(); + return; + } + err = TestStep4cReadTheOptionalAttributeLightSensorTypeInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_7(); + ChipLogProgress(chipTool, + " ***** Test Step 7 : Step 5: Read EventList attribute from the DUT.For this cluster the list is usually empty but " + "it can contain manufacturer specific event IDs.\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_9(); break; } @@ -56129,6 +58558,12 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -56142,7 +58577,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 10; chip::Optional mNodeId; chip::Optional mCluster; @@ -56229,6 +58664,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -56239,7 +58675,37 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterIlluminanceMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -56262,7 +58728,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeLightSensorTypeInAttributeList_5() + CHIP_ERROR TestStep4cReadTheOptionalAttributeLightSensorTypeInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -56285,7 +58751,18 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_6() + CHIP_ERROR + TestStep5ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_7() + { + + 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 TestStep6ReadTheGlobalAttributeAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -56311,7 +58788,7 @@ class Test_TC_ILL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57006,97 +59483,117 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_6(); break; case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep3aReadTheGlobalAttributeAttributeList_7(); + break; + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in " + " ***** Test Step 8 : Step 3b: Read the optional attribute(StartUpCurrentLevel and RemainingTime) in " "AttributeList\n"); if (ShouldSkip("LVL.S.F01")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_7(); + err = TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_8(); break; - case 8: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in " + " ***** Test Step 9 : Step 3c: Read the optional attribute(CurrentFrequency, MinFrequency and MinFrequency) in " "AttributeList\n"); if (ShouldSkip("LVL.S.F02")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_8(); + err = TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_9(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 3d: Read the optional attribute(MinLevel) in AttributeList\n"); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 3d: Read the optional attribute(MinLevel) in AttributeList\n"); if (ShouldSkip("LVL.S.A0002")) { NextTest(); return; } - err = TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_9(); + err = TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_10(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 3e: Read the optional attribute(MaxLevel) in AttributeList\n"); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 3e: Read the optional attribute(MaxLevel) in AttributeList\n"); if (ShouldSkip("LVL.S.A0003")) { NextTest(); return; } - err = TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_10(); + err = TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_11(); break; - case 11: + case 12: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList\n"); + chipTool, " ***** Test Step 12 : Step 3f: Read the optional attribute(OnOffTransitionTime) in AttributeList\n"); if (ShouldSkip("LVL.S.A0010")) { NextTest(); return; } - err = TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_11(); + err = TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_12(); break; - case 12: + case 13: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList\n"); + chipTool, " ***** Test Step 13 : Step 3g: Read the optional attribute(OnTransitionTime) in AttributeList\n"); if (ShouldSkip("LVL.S.A0012")) { NextTest(); return; } - err = TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_12(); + err = TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_13(); break; - case 13: + case 14: ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList\n"); + chipTool, " ***** Test Step 14 : Step 3h: Read the optional attribute(OffTransitionTime) in AttributeList\n"); if (ShouldSkip("LVL.S.A0013")) { NextTest(); return; } - err = TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_13(); + err = TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_14(); break; - case 14: + case 15: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList\n"); + chipTool, " ***** Test Step 15 : Step 3i: Read the optional attribute(DefaultMoveRate) in AttributeList\n"); if (ShouldSkip("LVL.S.A0014")) { NextTest(); return; } - err = TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_14(); - break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_15(); + err = TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_15(); break; case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_16(); + break; + case 17: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList\n"); + " ***** Test Step 17 : Step 4a.1: Read the Feature-dependent(LVL.S.F02) command in AcceptedCommandList\n"); if (ShouldSkip("LVL.S.F02")) { NextTest(); return; } - err = TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_16(); + err = TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_17(); break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4b: Read the global attribute: GeneratedCommandList\n"); - err = TestStep4bReadTheGlobalAttributeGeneratedCommandList_17(); + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 4b: Read the global attribute: GeneratedCommandList\n"); + err = TestStep4bReadTheGlobalAttributeGeneratedCommandList_18(); break; + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : Step 5: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -57162,6 +59659,12 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -57175,7 +59678,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 18; + const uint16_t mTestCount = 20; chip::Optional mNodeId; chip::Optional mCluster; @@ -57302,6 +59805,35 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 15UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_7() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterLevelControl alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -57323,7 +59855,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_7() + CHIP_ERROR TestStep3bReadTheOptionalAttributeStartUpCurrentLevelAndRemainingTimeInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57345,7 +59877,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_8() + CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentFrequencyMinFrequencyAndMinFrequencyInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57370,7 +59902,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_9() + CHIP_ERROR TestStep3dReadTheOptionalAttributeMinLevelInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57391,7 +59923,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_10() + CHIP_ERROR TestStep3eReadTheOptionalAttributeMaxLevelInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57412,7 +59944,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_11() + CHIP_ERROR TestStep3fReadTheOptionalAttributeOnOffTransitionTimeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57433,7 +59965,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_12() + CHIP_ERROR TestStep3gReadTheOptionalAttributeOnTransitionTimeInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57454,7 +59986,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_13() + CHIP_ERROR TestStep3hReadTheOptionalAttributeOffTransitionTimeInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57475,7 +60007,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_14() + CHIP_ERROR TestStep3iReadTheOptionalAttributeDefaultMoveRateInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57496,7 +60028,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_15() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57524,7 +60056,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_16() + CHIP_ERROR TestStep4a1ReadTheFeatureDependentLVLSF02CommandInAcceptedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -57545,7 +60077,7 @@ class Test_TC_LVL_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheGlobalAttributeGeneratedCommandList_17() + CHIP_ERROR TestStep4bReadTheGlobalAttributeGeneratedCommandList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -63736,15 +66268,35 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4ThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 6: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6ThReadsAcceptedCommandListFromDut_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ThReadsAttributeListFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 7: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7ThReadsGeneratedCommandListFromDut_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6ThReadsAcceptedCommandListFromDut_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7ThReadsGeneratedCommandListFromDut_7(); break; } @@ -63775,6 +66327,12 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -63788,7 +66346,7 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 6; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -63864,6 +66422,36 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ThReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterLocalizationConfiguration alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4: TH reads AttributeList from DUT Error: %@", err); @@ -63884,7 +66472,7 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_4() + CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -63910,7 +66498,7 @@ class Test_TC_LCFG_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_5() + CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64002,24 +66590,44 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_4(); break; case 5: - ChipLogProgress( - chipTool, " ***** Test Step 5 : Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList\n"); - if (ShouldSkip("LUNIT.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bThReadsFeatureDependentLUNITSF00AttributeInAttributeList_5(); + err = TestStep4aThReadsAttributeListFromDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6ThReadsAcceptedCommandListFromDut_6(); + ChipLogProgress( + chipTool, " ***** Test Step 6 : Step 4b: TH reads Feature dependent(LUNIT.S.F00) attribute in AttributeList\n"); + if (ShouldSkip("LUNIT.S.F00")) { + NextTest(); + return; + } + err = TestStep4bThReadsFeatureDependentLUNITSF00AttributeInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7ThReadsGeneratedCommandListFromDut_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH reads EventList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6ThReadsAcceptedCommandListFromDut_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7ThReadsGeneratedCommandListFromDut_9(); break; } @@ -64056,6 +66664,12 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -64069,7 +66683,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 10; chip::Optional mNodeId; chip::Optional mCluster; @@ -64166,6 +66780,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -64176,7 +66791,32 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFeatureDependentLUNITSF00AttributeInAttributeList_5() + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterUnitLocalization alloc] initWithDevice:device endpointID:@(0) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bThReadsFeatureDependentLUNITSF00AttributeInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64197,7 +66837,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_6() + CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64221,7 +66861,7 @@ class Test_TC_LUNIT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_7() + CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64649,33 +67289,53 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_3(); break; case 4: - ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT\n"); - if (ShouldSkip("LTIME.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_4(); + err = TestStep4aThReadsAttributeListFromDut_4(); break; case 5: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT\n"); - if (ShouldSkip("LTIME.S.A0002")) { + " ***** Test Step 5 : Step 4b: TH reads optional attribute(ActiveCalendarType) in AttributeList from DUT\n"); + if (ShouldSkip("LTIME.S.A0001")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_5(); + err = TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6ThReadsAcceptedCommandListFromDut_6(); + ChipLogProgress(chipTool, + " ***** Test Step 6 : Step 4c: TH reads optional attribute(SupportedCalendarTypes) in AttributeList from DUT\n"); + if (ShouldSkip("LTIME.S.A0002")) { + NextTest(); + return; + } + err = TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7ThReadsGeneratedCommandListFromDut_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: TH reads EventList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6ThReadsAcceptedCommandListFromDut_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7ThReadsGeneratedCommandListFromDut_9(); break; } @@ -64712,6 +67372,12 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { case 7: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -64725,7 +67391,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 8; + const uint16_t mTestCount = 10; chip::Optional mNodeId; chip::Optional mCluster; @@ -64799,6 +67465,35 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterTimeFormatLocalization alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -64818,7 +67513,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_4() + CHIP_ERROR TestStep4bThReadsOptionalAttributeActiveCalendarTypeInAttributeListFromDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64841,7 +67536,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_5() + CHIP_ERROR TestStep4cThReadsOptionalAttributeSupportedCalendarTypesInAttributeListFromDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64864,7 +67559,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_6() + CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64890,7 +67585,7 @@ class Test_TC_LTIME_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_7() + CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -64969,16 +67664,36 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep3ReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -65008,6 +67723,12 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -65021,7 +67742,7 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 6; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -65091,6 +67812,36 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterLowPower alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + { + id actualValue = value; + VerifyOrReturn(CheckValue("AttributeList", [actualValue count], static_cast(6))); + VerifyOrReturn(CheckValue("", actualValue[0], 65528UL)); + VerifyOrReturn(CheckValue("", actualValue[1], 65529UL)); + VerifyOrReturn(CheckValue("", actualValue[2], 65530UL)); + VerifyOrReturn(CheckValue("", actualValue[3], 65531UL)); + VerifyOrReturn(CheckValue("", actualValue[4], 65532UL)); + VerifyOrReturn(CheckValue("", actualValue[5], 65533UL)); + } + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3ReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterLowPower alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); @@ -65113,7 +67864,7 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_4() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65138,7 +67889,7 @@ class Test_TC_LOWPOWER_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_5() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65246,16 +67997,36 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep3aReadTheGlobalAttributeAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_8(); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_9(); break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -65294,6 +68065,12 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -65307,7 +68084,7 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -65442,6 +68219,7 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -65452,7 +68230,32 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_7() + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_7() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterKeypadInput alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65473,7 +68276,7 @@ class Test_TC_KEYPADINPUT_1_2 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_8() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65559,32 +68362,52 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(CatalogList) in AttributeList\n"); - if (ShouldSkip("APPLAUNCHER.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeCatalogListInAttributeList_5(); + err = TestStep3aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3c: Read the optional attribute(CurrentApp) in AttributeList\n"); - if (ShouldSkip("APPLAUNCHER.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(CatalogList) in AttributeList\n"); + if (ShouldSkip("APPLAUNCHER.S.A0000")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeCurrentAppInAttributeList_6(); + err = TestStep3bReadTheOptionalAttributeCatalogListInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3c: Read the optional attribute(CurrentApp) in AttributeList\n"); + if (ShouldSkip("APPLAUNCHER.S.A0001")) { + NextTest(); + return; + } + err = TestStep3cReadTheOptionalAttributeCurrentAppInAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_8(); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_8(); break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_9(); + break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -65623,6 +68446,12 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -65636,7 +68465,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -65738,6 +68567,34 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterApplicationLauncher alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -65756,7 +68613,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeCatalogListInAttributeList_5() + CHIP_ERROR TestStep3bReadTheOptionalAttributeCatalogListInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65779,7 +68636,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentAppInAttributeList_6() + CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentAppInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65802,7 +68659,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_7() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65827,7 +68684,7 @@ class Test_TC_APPLAUNCHER_1_3 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_8() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -65916,32 +68773,52 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(InputList) in AttributeList\n"); - if (ShouldSkip("MEDIAINPUT.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeInputListInAttributeList_5(); + err = TestStep3aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3c: Read the optional attribute(CurrentInput) in AttributeList\n"); - if (ShouldSkip("MEDIAINPUT.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(InputList) in AttributeList\n"); + if (ShouldSkip("MEDIAINPUT.S.A0000")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeCurrentInputInAttributeList_6(); + err = TestStep3bReadTheOptionalAttributeInputListInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3c: Read the optional attribute(CurrentInput) in AttributeList\n"); + if (ShouldSkip("MEDIAINPUT.S.A0001")) { + NextTest(); + return; + } + err = TestStep3cReadTheOptionalAttributeCurrentInputInAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_8(); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_9(); break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -65980,6 +68857,12 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -65993,7 +68876,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -66090,6 +68973,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -66100,7 +68984,32 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeInputListInAttributeList_5() + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterMediaInput alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3bReadTheOptionalAttributeInputListInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66121,7 +69030,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentInputInAttributeList_6() + CHIP_ERROR TestStep3cReadTheOptionalAttributeCurrentInputInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66142,7 +69051,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_7() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66166,7 +69075,7 @@ class Test_TC_MEDIAINPUT_1_4 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_8() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66243,24 +69152,44 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3b: Read the optional attribute(MACAddress) in AttributeList\n"); - if (ShouldSkip("WAKEONLAN.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeMACAddressInAttributeList_4(); + err = TestStep3aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(MACAddress) in AttributeList\n"); + if (ShouldSkip("WAKEONLAN.S.A0000")) { + NextTest(); + return; + } + err = TestStep3bReadTheOptionalAttributeMACAddressInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_6(); break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -66293,6 +69222,12 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -66306,7 +69241,7 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -66376,6 +69311,32 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterWakeOnLAN alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterWakeOnLAN alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -66394,7 +69355,7 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeMACAddressInAttributeList_4() + CHIP_ERROR TestStep3bReadTheOptionalAttributeMACAddressInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66415,7 +69376,7 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66439,7 +69400,7 @@ class Test_TC_WAKEONLAN_1_5 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66538,75 +69499,95 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(ChannelList): AttributeList\n"); - if (ShouldSkip("CHANNEL.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeChannelListAttributeList_6(); + err = TestStep3aReadTheGlobalAttributeAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3c: Reading optional attribute(Lineup) in AttributeList\n"); - if (ShouldSkip("CHANNEL.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3b: Read the optional attribute(ChannelList): AttributeList\n"); + if (ShouldSkip("CHANNEL.S.A0000")) { NextTest(); return; } - err = TestStep3cReadingOptionalAttributeLineupInAttributeList_7(); + err = TestStep3bReadTheOptionalAttributeChannelListAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 3d: Read the optional attribute(CurrentChannel): AttributeList\n"); - if (ShouldSkip("CHANNEL.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 3c: Reading optional attribute(Lineup) in AttributeList\n"); + if (ShouldSkip("CHANNEL.S.A0001")) { NextTest(); return; } - err = TestStep3dReadTheOptionalAttributeCurrentChannelAttributeList_8(); + err = TestStep3cReadingOptionalAttributeLineupInAttributeList_8(); break; case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 3d: Read the optional attribute(CurrentChannel): AttributeList\n"); + if (ShouldSkip("CHANNEL.S.A0002")) { + NextTest(); + return; + } + err = TestStep3dReadTheOptionalAttributeCurrentChannelAttributeList_9(); + break; + case 10: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4a: Read the optional command(ChangeChannel) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 10 : Step 4a: Read the optional command(ChangeChannel) in AcceptedCommandList\n"); if (ShouldSkip("CHANNEL.S.C00.Rsp")) { NextTest(); return; } - err = TestStep4aReadTheOptionalCommandChangeChannelInAcceptedCommandList_9(); + err = TestStep4aReadTheOptionalCommandChangeChannelInAcceptedCommandList_10(); break; - case 10: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4b: Read the optional command(ChangeChannelByNumber) in AcceptedCommandList\n"); + " ***** Test Step 11 : Step 4b: Read the optional command(ChangeChannelByNumber) in AcceptedCommandList\n"); if (ShouldSkip("CHANNEL.S.C02.Rsp")) { NextTest(); return; } - err = TestStep4bReadTheOptionalCommandChangeChannelByNumberInAcceptedCommandList_10(); + err = TestStep4bReadTheOptionalCommandChangeChannelByNumberInAcceptedCommandList_11(); break; - case 11: + case 12: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 4c: Read the optional command(SkipChannel) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 12 : Step 4c: Read the optional command(SkipChannel) in AcceptedCommandList\n"); if (ShouldSkip("CHANNEL.S.C03.Rsp")) { NextTest(); return; } - err = TestStep4cReadTheOptionalCommandSkipChannelInAcceptedCommandList_11(); + err = TestStep4cReadTheOptionalCommandSkipChannelInAcceptedCommandList_12(); break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5a: Read the global attribute: GeneratedCommandList\n"); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5a: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip("( !CHANNEL.S.F00 && !CHANNEL.S.F01 )")) { NextTest(); return; } - err = TestStep5aReadTheGlobalAttributeGeneratedCommandList_12(); + err = TestStep5aReadTheGlobalAttributeGeneratedCommandList_13(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5b: Read the global attribute: GeneratedCommandList\n"); + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 5b: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip("CHANNEL.S.F00 || CHANNEL.S.F01")) { NextTest(); return; } - err = TestStep5bReadTheGlobalAttributeGeneratedCommandList_13(); + err = TestStep5bReadTheGlobalAttributeGeneratedCommandList_14(); break; + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -66660,6 +69641,12 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -66673,7 +69660,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 14; + const uint16_t mTestCount = 16; chip::Optional mNodeId; chip::Optional mCluster; @@ -66781,6 +69768,32 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterChannel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_6() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterChannel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -66799,7 +69812,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeChannelListAttributeList_6() + CHIP_ERROR TestStep3bReadTheOptionalAttributeChannelListAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66820,7 +69833,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadingOptionalAttributeLineupInAttributeList_7() + CHIP_ERROR TestStep3cReadingOptionalAttributeLineupInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66841,7 +69854,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheOptionalAttributeCurrentChannelAttributeList_8() + CHIP_ERROR TestStep3dReadTheOptionalAttributeCurrentChannelAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66862,7 +69875,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheOptionalCommandChangeChannelInAcceptedCommandList_9() + CHIP_ERROR TestStep4aReadTheOptionalCommandChangeChannelInAcceptedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66883,7 +69896,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalCommandChangeChannelByNumberInAcceptedCommandList_10() + CHIP_ERROR TestStep4bReadTheOptionalCommandChangeChannelByNumberInAcceptedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66904,7 +69917,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalCommandSkipChannelInAcceptedCommandList_11() + CHIP_ERROR TestStep4cReadTheOptionalCommandSkipChannelInAcceptedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66925,7 +69938,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5aReadTheGlobalAttributeGeneratedCommandList_12() + CHIP_ERROR TestStep5aReadTheGlobalAttributeGeneratedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -66949,7 +69962,7 @@ class Test_TC_CHANNEL_1_6 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5bReadTheGlobalAttributeGeneratedCommandList_13() + CHIP_ERROR TestStep5bReadTheGlobalAttributeGeneratedCommandList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67045,137 +70058,157 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(StartTime) in AttributeList\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeStartTimeInAttributeList_6(); + err = TestStep3aReadTheGlobalAttributeAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3c: Read the optional attribute(Duration) in AttributeList\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3b: Read the optional attribute(StartTime) in AttributeList\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0001")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeDurationInAttributeList_7(); + err = TestStep3bReadTheOptionalAttributeStartTimeInAttributeList_7(); break; case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 3d: Read the optional attribute(SampledPosition) in AttributeList\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 3c: Read the optional attribute(Duration) in AttributeList\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0002")) { NextTest(); return; } - err = TestStep3dReadTheOptionalAttributeSampledPositionInAttributeList_8(); + err = TestStep3cReadTheOptionalAttributeDurationInAttributeList_8(); break; case 9: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 3e: Read the optional attribute(PlaybackSpeed) in AttributeList\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0004")) { + chipTool, " ***** Test Step 9 : Step 3d: Read the optional attribute(SampledPosition) in AttributeList\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0003")) { NextTest(); return; } - err = TestStep3eReadTheOptionalAttributePlaybackSpeedInAttributeList_9(); + err = TestStep3dReadTheOptionalAttributeSampledPositionInAttributeList_9(); break; case 10: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 3f: Read the optional attribute(SeekRangeEnd) in AttributeList\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0005")) { + chipTool, " ***** Test Step 10 : Step 3e: Read the optional attribute(PlaybackSpeed) in AttributeList\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0004")) { NextTest(); return; } - err = TestStep3fReadTheOptionalAttributeSeekRangeEndInAttributeList_10(); + err = TestStep3eReadTheOptionalAttributePlaybackSpeedInAttributeList_10(); break; case 11: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 3g: Read the optional attribute(SeekRangeStart) in AttributeList\n"); - if (ShouldSkip("MEDIAPLAYBACK.S.A0006")) { + chipTool, " ***** Test Step 11 : Step 3f: Read the optional attribute(SeekRangeEnd) in AttributeList\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0005")) { NextTest(); return; } - err = TestStep3gReadTheOptionalAttributeSeekRangeStartInAttributeList_11(); + err = TestStep3fReadTheOptionalAttributeSeekRangeEndInAttributeList_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 4a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_12(); + ChipLogProgress( + chipTool, " ***** Test Step 12 : Step 3g: Read the optional attribute(SeekRangeStart) in AttributeList\n"); + if (ShouldSkip("MEDIAPLAYBACK.S.A0006")) { + NextTest(); + return; + } + err = TestStep3gReadTheOptionalAttributeSeekRangeStartInAttributeList_12(); break; case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4aReadTheGlobalAttributeAcceptedCommandList_13(); + break; + case 14: ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 4b: Read the optional command(StartOver) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 14 : Step 4b: Read the optional command(StartOver) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C03.Rsp")) { NextTest(); return; } - err = TestStep4bReadTheOptionalCommandStartOverInAcceptedCommandList_13(); + err = TestStep4bReadTheOptionalCommandStartOverInAcceptedCommandList_14(); break; - case 14: + case 15: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 4c: Read the optional command(Previous) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 15 : Step 4c: Read the optional command(Previous) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C04.Rsp")) { NextTest(); return; } - err = TestStep4cReadTheOptionalCommandPreviousInAcceptedCommandList_14(); + err = TestStep4cReadTheOptionalCommandPreviousInAcceptedCommandList_15(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4d: Read the optional command(Next) in AcceptedCommandList\n"); + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4d: Read the optional command(Next) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C05.Rsp")) { NextTest(); return; } - err = TestStep4dReadTheOptionalCommandNextInAcceptedCommandList_15(); + err = TestStep4dReadTheOptionalCommandNextInAcceptedCommandList_16(); break; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : Step 4e: Read the optional command(Rewind) in AcceptedCommandList\n"); + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 4e: Read the optional command(Rewind) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C06.Rsp")) { NextTest(); return; } - err = TestStep4eReadTheOptionalCommandRewindInAcceptedCommandList_16(); + err = TestStep4eReadTheOptionalCommandRewindInAcceptedCommandList_17(); break; - case 17: + case 18: ChipLogProgress( - chipTool, " ***** Test Step 17 : Step 4f: Read the optional command(FastForward) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 18 : Step 4f: Read the optional command(FastForward) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C07.Rsp")) { NextTest(); return; } - err = TestStep4fReadTheOptionalCommandFastForwardInAcceptedCommandList_17(); + err = TestStep4fReadTheOptionalCommandFastForwardInAcceptedCommandList_18(); break; - case 18: + case 19: ChipLogProgress( - chipTool, " ***** Test Step 18 : Step 4g: Read the optional command(SkipForward) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 19 : Step 4g: Read the optional command(SkipForward) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C08.Rsp")) { NextTest(); return; } - err = TestStep4gReadTheOptionalCommandSkipForwardInAcceptedCommandList_18(); + err = TestStep4gReadTheOptionalCommandSkipForwardInAcceptedCommandList_19(); break; - case 19: + case 20: ChipLogProgress( - chipTool, " ***** Test Step 19 : Step 4h: Read the optional command(SkipBackward) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 20 : Step 4h: Read the optional command(SkipBackward) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C09.Rsp")) { NextTest(); return; } - err = TestStep4hReadTheOptionalCommandSkipBackwardInAcceptedCommandList_19(); + err = TestStep4hReadTheOptionalCommandSkipBackwardInAcceptedCommandList_20(); break; - case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4i: Read the optional command(Seek) in AcceptedCommandList\n"); + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4i: Read the optional command(Seek) in AcceptedCommandList\n"); if (ShouldSkip("MEDIAPLAYBACK.S.C0b.Rsp")) { NextTest(); return; } - err = TestStep4iReadTheOptionalCommandSeekInAcceptedCommandList_20(); + err = TestStep4iReadTheOptionalCommandSeekInAcceptedCommandList_21(); break; - case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_21(); + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_22(); break; + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -67253,6 +70286,12 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { case 21: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 23: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -67266,7 +70305,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 22; + const uint16_t mTestCount = 24; chip::Optional mNodeId; chip::Optional mCluster; @@ -67374,6 +70413,33 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterMediaPlayback alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_6() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterMediaPlayback alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -67393,7 +70459,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeStartTimeInAttributeList_6() + CHIP_ERROR TestStep3bReadTheOptionalAttributeStartTimeInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67414,7 +70480,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeDurationInAttributeList_7() + CHIP_ERROR TestStep3cReadTheOptionalAttributeDurationInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67435,7 +70501,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheOptionalAttributeSampledPositionInAttributeList_8() + CHIP_ERROR TestStep3dReadTheOptionalAttributeSampledPositionInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67456,7 +70522,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3eReadTheOptionalAttributePlaybackSpeedInAttributeList_9() + CHIP_ERROR TestStep3eReadTheOptionalAttributePlaybackSpeedInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67477,7 +70543,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3fReadTheOptionalAttributeSeekRangeEndInAttributeList_10() + CHIP_ERROR TestStep3fReadTheOptionalAttributeSeekRangeEndInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67498,7 +70564,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3gReadTheOptionalAttributeSeekRangeStartInAttributeList_11() + CHIP_ERROR TestStep3gReadTheOptionalAttributeSeekRangeStartInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67519,7 +70585,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_12() + CHIP_ERROR TestStep4aReadTheGlobalAttributeAcceptedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67542,7 +70608,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalCommandStartOverInAcceptedCommandList_13() + CHIP_ERROR TestStep4bReadTheOptionalCommandStartOverInAcceptedCommandList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67563,7 +70629,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalCommandPreviousInAcceptedCommandList_14() + CHIP_ERROR TestStep4cReadTheOptionalCommandPreviousInAcceptedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67584,7 +70650,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalCommandNextInAcceptedCommandList_15() + CHIP_ERROR TestStep4dReadTheOptionalCommandNextInAcceptedCommandList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67605,7 +70671,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalCommandRewindInAcceptedCommandList_16() + CHIP_ERROR TestStep4eReadTheOptionalCommandRewindInAcceptedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67626,7 +70692,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalCommandFastForwardInAcceptedCommandList_17() + CHIP_ERROR TestStep4fReadTheOptionalCommandFastForwardInAcceptedCommandList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67647,7 +70713,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheOptionalCommandSkipForwardInAcceptedCommandList_18() + CHIP_ERROR TestStep4gReadTheOptionalCommandSkipForwardInAcceptedCommandList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67668,7 +70734,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheOptionalCommandSkipBackwardInAcceptedCommandList_19() + CHIP_ERROR TestStep4hReadTheOptionalCommandSkipBackwardInAcceptedCommandList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67689,7 +70755,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iReadTheOptionalCommandSeekInAcceptedCommandList_20() + CHIP_ERROR TestStep4iReadTheOptionalCommandSeekInAcceptedCommandList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67710,7 +70776,7 @@ class Test_TC_MEDIAPLAYBACK_1_7 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_21() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67796,16 +70862,36 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3ReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep3ReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_7(); break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -67838,6 +70924,12 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -67851,7 +70943,7 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -67945,6 +71037,7 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -67955,7 +71048,34 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep3ReadTheGlobalAttributeAttributeList_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterAudioOutput alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -67976,7 +71096,7 @@ class Test_TC_AUDIOOUTPUT_1_8 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68053,25 +71173,45 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress( - chipTool, " ***** Test Step 4 : Step 3b: Read the optional attribute(CurrentTarget) in AttributeList\n"); - if (ShouldSkip("TGTNAV.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeCurrentTargetInAttributeList_4(); + err = TestStep3aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); + ChipLogProgress( + chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(CurrentTarget) in AttributeList\n"); + if (ShouldSkip("TGTNAV.S.A0001")) { + NextTest(); + return; + } + err = TestStep3bReadTheOptionalAttributeCurrentTargetInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_6(); break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -68104,6 +71244,12 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -68117,7 +71263,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -68187,6 +71333,33 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterTargetNavigator alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterTargetNavigator alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -68206,7 +71379,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeCurrentTargetInAttributeList_4() + CHIP_ERROR TestStep3bReadTheOptionalAttributeCurrentTargetInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68227,7 +71400,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68248,7 +71421,7 @@ class Test_TC_TGTNAV_1_9 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68322,40 +71495,60 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3b: Read the optional attribute(VendorName) in AttributeList\n"); - if (ShouldSkip("APBSC.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeVendorNameInAttributeList_4(); + err = TestStep3aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3c: Read the optional attribute(VendorID) in AttributeList\n"); - if (ShouldSkip("APBSC.S.A0001")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3b: Read the optional attribute(VendorName) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0000")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeVendorIDInAttributeList_5(); + err = TestStep3bReadTheOptionalAttributeVendorNameInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3d: Read the optional attribute(ProductID) in AttributeList\n"); - if (ShouldSkip("APBSC.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3c: Read the optional attribute(VendorID) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0001")) { NextTest(); return; } - err = TestStep3dReadTheOptionalAttributeProductIDInAttributeList_6(); + err = TestStep3cReadTheOptionalAttributeVendorIDInAttributeList_6(); break; case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_7(); + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3d: Read the optional attribute(ProductID) in AttributeList\n"); + if (ShouldSkip("APBSC.S.A0003")) { + NextTest(); + return; + } + err = TestStep3dReadTheOptionalAttributeProductIDInAttributeList_7(); break; case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_8(); + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_9(); break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -68394,6 +71587,12 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -68407,7 +71606,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -68490,6 +71689,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -68500,7 +71700,37 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeVendorNameInAttributeList_4() + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterApplicationBasic alloc] initWithDevice:device endpointID:@(3) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 6UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3bReadTheOptionalAttributeVendorNameInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68521,7 +71751,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeVendorIDInAttributeList_5() + CHIP_ERROR TestStep3cReadTheOptionalAttributeVendorIDInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68542,7 +71772,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3dReadTheOptionalAttributeProductIDInAttributeList_6() + CHIP_ERROR TestStep3dReadTheOptionalAttributeProductIDInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68563,7 +71793,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_7() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68587,7 +71817,7 @@ class Test_TC_APBSC_1_10 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_8() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68686,47 +71916,67 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3aReadTheGlobalAttributeAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3b: Read the optional attribute(AcceptHeader): AttributeList\n"); - if (ShouldSkip("CONTENTLAUNCHER.S.A0000")) { + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 3a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep3bReadTheOptionalAttributeAcceptHeaderAttributeList_6(); + err = TestStep3aReadTheGlobalAttributeAttributeList_6(); break; case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 3b: Read the optional attribute(AcceptHeader): AttributeList\n"); + if (ShouldSkip("CONTENTLAUNCHER.S.A0000")) { + NextTest(); + return; + } + err = TestStep3bReadTheOptionalAttributeAcceptHeaderAttributeList_7(); + break; + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 3c: Read the optional attribute(SupportedStreamingProtocols): AttributeList\n"); + " ***** Test Step 8 : Step 3c: Read the optional attribute(SupportedStreamingProtocols): AttributeList\n"); if (ShouldSkip("CONTENTLAUNCHER.S.A0001")) { NextTest(); return; } - err = TestStep3cReadTheOptionalAttributeSupportedStreamingProtocolsAttributeList_7(); + err = TestStep3cReadTheOptionalAttributeSupportedStreamingProtocolsAttributeList_8(); break; - case 8: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4a: Read the optional command(LaunchContent) in AcceptedCommandList attribute\n"); + " ***** Test Step 9 : Step 4a: Read the optional command(LaunchContent) in AcceptedCommandList attribute\n"); if (ShouldSkip("CONTENTLAUNCHER.C.C00.Tx")) { NextTest(); return; } - err = TestStep4aReadTheOptionalCommandLaunchContentInAcceptedCommandListAttribute_8(); + err = TestStep4aReadTheOptionalCommandLaunchContentInAcceptedCommandListAttribute_9(); break; - case 9: + case 10: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4b: Read the optional command(LaunchURL) in AcceptedCommandList attribute\n"); + chipTool, " ***** Test Step 10 : Step 4b: Read the optional command(LaunchURL) in AcceptedCommandList attribute\n"); if (ShouldSkip("CONTENTLAUNCHER.C.C01.Tx")) { NextTest(); return; } - err = TestStep4bReadTheOptionalCommandLaunchURLInAcceptedCommandListAttribute_9(); + err = TestStep4bReadTheOptionalCommandLaunchURLInAcceptedCommandListAttribute_10(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_10(); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_11(); break; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -68771,6 +72021,12 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -68784,7 +72040,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 13; chip::Optional mNodeId; chip::Optional mCluster; @@ -68892,6 +72148,32 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterContentLauncher alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3aReadTheGlobalAttributeAttributeList_6() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterContentLauncher alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3a: Read the global attribute: AttributeList Error: %@", err); @@ -68910,7 +72192,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3bReadTheOptionalAttributeAcceptHeaderAttributeList_6() + CHIP_ERROR TestStep3bReadTheOptionalAttributeAcceptHeaderAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68931,7 +72213,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep3cReadTheOptionalAttributeSupportedStreamingProtocolsAttributeList_7() + CHIP_ERROR TestStep3cReadTheOptionalAttributeSupportedStreamingProtocolsAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68952,7 +72234,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheOptionalCommandLaunchContentInAcceptedCommandListAttribute_8() + CHIP_ERROR TestStep4aReadTheOptionalCommandLaunchContentInAcceptedCommandListAttribute_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68973,7 +72255,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalCommandLaunchURLInAcceptedCommandListAttribute_9() + CHIP_ERROR TestStep4bReadTheOptionalCommandLaunchURLInAcceptedCommandListAttribute_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -68994,7 +72276,7 @@ class Test_TC_CONTENTLAUNCHER_1_11 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_10() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69068,16 +72350,36 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 3: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep3ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AcceptedCommandList\n"); - err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 3: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep3ReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: GeneratedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: Read the global attribute: AcceptedCommandList\n"); + err = TestStep4ReadTheGlobalAttributeAcceptedCommandList_5(); + break; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: GeneratedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeGeneratedCommandList_6(); break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: TH reads EventList attribute from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -69107,6 +72409,12 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -69120,7 +72428,7 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 6; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -69190,6 +72498,32 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterAccountLogin alloc] initWithDevice:device endpointID:@(3) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep3ReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterAccountLogin alloc] initWithDevice:device endpointID:@(3) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 3: Read the global attribute: AttributeList Error: %@", err); @@ -69208,7 +72542,7 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_4() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAcceptedCommandList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -69231,7 +72565,7 @@ class Test_TC_ALOGIN_1_12 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_5() + CHIP_ERROR TestStep5ReadTheGlobalAttributeGeneratedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -77020,29 +80354,41 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_4(); break; case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_5(); + break; + case 6: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT\n"); + " ***** Test Step 6 : Step 4b: TH reads the optional attribute(StartUpMode) in AttributeList from the DUT\n"); if (ShouldSkip("MOD.S.A0004")) { NextTest(); return; } - err = TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_5(); + err = TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_6(); break; - case 6: + case 7: ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT\n"); + chipTool, " ***** Test Step 7 : Step 4c: TH reads the optional attribute(OnMode) in AttributeList from the DUT\n"); if (ShouldSkip("MOD.S.A0005")) { NextTest(); return; } - err = TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_6(); + err = TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_7(); break; - case 7: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 4d: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 8 : Step 4d: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -77052,15 +80398,37 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4dThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); - break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: TH reads AcceptedCommandList attribute from DUT\n"); - err = TestStep6aThReadsAcceptedCommandListAttributeFromDut_8(); + err = TestStep4dThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5a: TH reads from the DUT the EventList attribute\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 10: + ChipLogProgress(chipTool, + " ***** Test Step 10 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + break; + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6a: TH reads AcceptedCommandList attribute from DUT\n"); + err = TestStep6aThReadsAcceptedCommandListAttributeFromDut_11(); + break; + case 12: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 12 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -77070,15 +80438,15 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); - err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_10(); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7a: TH reads GeneratedCommandList attribute from DUT\n"); + err = TestStep7aThReadsGeneratedCommandListAttributeFromDut_13(); break; - case 11: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 14 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -77087,7 +80455,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); break; } @@ -77136,6 +80504,15 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -77149,7 +80526,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 12; + const uint16_t mTestCount = 15; chip::Optional mNodeId; chip::Optional mCluster; @@ -77229,6 +80606,36 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterModeSelect alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsTheAttributeListAttributeFromTheDut_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterModeSelect alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); @@ -77251,7 +80658,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_5() + CHIP_ERROR TestStep4bThReadsTheOptionalAttributeStartUpModeInAttributeListFromTheDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -77272,7 +80679,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_6() + CHIP_ERROR TestStep4cThReadsTheOptionalAttributeOnModeInAttributeListFromTheDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -77294,7 +80701,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4dThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + TestStep4dThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -77304,7 +80711,18 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListAttributeFromDut_8() + CHIP_ERROR + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep6aThReadsAcceptedCommandListAttributeFromDut_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -77326,7 +80744,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -77336,7 +80754,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aThReadsGeneratedCommandListAttributeFromDut_10() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListAttributeFromDut_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -77361,7 +80779,7 @@ class Test_TC_MOD_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -77759,15 +81177,35 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4ReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_4(); + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_7(); break; } @@ -77798,6 +81236,12 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { case 5: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 6: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -77811,7 +81255,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 6; + const uint16_t mTestCount = 8; chip::Optional mNodeId; chip::Optional mCluster; @@ -77881,6 +81325,35 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterOccupancySensing alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); @@ -77902,7 +81375,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_4() + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -77926,7 +81399,7 @@ class Test_TC_OCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_5() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -78685,20 +82158,32 @@ class Test_TC_OO_1_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_5(); break; case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aReadTheGlobalAttributeAttributeList_6(); + break; + case 7: ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4b: Read the feature dependent(OO.S.F00) attribute in AttributeList\n"); + chipTool, " ***** Test Step 7 : Step 4b: Read the feature dependent(OO.S.F00) attribute in AttributeList\n"); if (ShouldSkip("OO.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentOOSF00AttributeInAttributeList_6(); + err = TestStep4bReadTheFeatureDependentOOSF00AttributeInAttributeList_7(); break; - case 7: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 8 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -78708,24 +82193,38 @@ class Test_TC_OO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); - break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_8(); + err = TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; case 9: + ChipLogProgress(chipTool, + " ***** Test Step 9 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); + break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_10(); + break; + case 11: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 6b: Read the feature dependent(OO.S.F00) commands in AcceptedCommandList\n"); + chipTool, " ***** Test Step 11 : Step 6b: Read the feature dependent(OO.S.F00) commands in AcceptedCommandList\n"); if (ShouldSkip("OO.S.F00")) { NextTest(); return; } - err = TestStep6bReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_9(); + err = TestStep6bReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_11(); break; - case 10: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 12 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -78735,15 +82234,15 @@ class Test_TC_OO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_11(); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_13(); break; - case 12: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 14 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -78752,7 +82251,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); break; } @@ -78804,6 +82303,12 @@ class Test_TC_OO_1_1 : public TestCommandBridge { case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -78817,7 +82322,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 13; + const uint16_t mTestCount = 15; chip::Optional mNodeId; chip::Optional mCluster; @@ -78923,6 +82428,33 @@ class Test_TC_OO_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_6() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterOnOff alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -78942,7 +82474,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentOOSF00AttributeInAttributeList_6() + CHIP_ERROR TestStep4bReadTheFeatureDependentOOSF00AttributeInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -78967,7 +82499,18 @@ class Test_TC_OO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + TestStep4cThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_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 + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -78977,7 +82520,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_8() + CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -79000,7 +82543,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_9() + CHIP_ERROR TestStep6bReadTheFeatureDependentOOSF00CommandsInAcceptedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -79024,7 +82567,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -79034,7 +82577,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_11() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -79059,7 +82602,7 @@ class Test_TC_OO_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -80938,21 +84481,33 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList " + " ***** Test Step 5 : Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList " "from the DUT\n"); if (ShouldSkip("OPSTATE.S.A0002")) { NextTest(); return; } - err = TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_4(); + err = TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_5(); break; - case 5: + case 6: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " + " ***** Test Step 6 : Step 4c: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " "invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -80961,43 +84516,74 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4cThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); + err = TestStep4cThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6a: Read the optional command(Start) in AcceptedCommandList\n"); + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 5a: TH reads from the DUT the EventList attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 5b: TH reads from the DUT the optional event(OperationCompletion) in EventList.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && OPSTATE.S.E01")) { + NextTest(); + return; + } + NextTest(); + return; + case 9: + ChipLogProgress(chipTool, + " ***** Test Step 9 : Step 5c: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5cThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); + break; + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6a: Read the optional command(Start) in AcceptedCommandList\n"); if (ShouldSkip("OPSTATE.S.C02")) { NextTest(); return; } - err = TestStep6aReadTheOptionalCommandStartInAcceptedCommandList_6(); + err = TestStep6aReadTheOptionalCommandStartInAcceptedCommandList_10(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); if (ShouldSkip("OPSTATE.S.C01")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_7(); + err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_11(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6c: Read the optional command(Pause) in AcceptedCommandList\n"); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6c: Read the optional command(Pause) in AcceptedCommandList\n"); if (ShouldSkip("OPSTATE.S.C00")) { NextTest(); return; } - err = TestStep6cReadTheOptionalCommandPauseInAcceptedCommandList_8(); + err = TestStep6cReadTheOptionalCommandPauseInAcceptedCommandList_12(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); if (ShouldSkip("OPSTATE.S.C03")) { NextTest(); return; } - err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_9(); + err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_13(); break; - case 10: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 14 : Step 6e: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -81006,27 +84592,27 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); + err = TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip("!OPSTATE.S.C00 || !OPSTATE.S.C01 || !OPSTATE.S.C02 || !OPSTATE.S.C03")) { NextTest(); return; } - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_11(); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_15(); break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7a: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip("(OPSTATE.S.C00 || OPSTATE.S.C01 || OPSTATE.S.C02 || OPSTATE.S.C03)")) { NextTest(); return; } - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_12(); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_16(); break; - case 13: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 17 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -81035,7 +84621,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); break; } @@ -81090,6 +84676,18 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -81103,7 +84701,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 14; + const uint16_t mTestCount = 18; chip::Optional mNodeId; chip::Optional mCluster; @@ -81173,6 +84771,37 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterOperationalState alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsTheAttributeListAttributeFromTheDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterOperationalState alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); @@ -81196,7 +84825,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_4() + CHIP_ERROR TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81220,7 +84849,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4cThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep4cThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -81230,7 +84859,18 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheOptionalCommandStartInAcceptedCommandList_6() + CHIP_ERROR + TestStep5cThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + { + + 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 TestStep6aReadTheOptionalCommandStartInAcceptedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81252,7 +84892,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_7() + CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81273,7 +84913,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadTheOptionalCommandPauseInAcceptedCommandList_8() + CHIP_ERROR TestStep6cReadTheOptionalCommandPauseInAcceptedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81295,7 +84935,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_9() + CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81318,7 +84958,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() + TestStep6eThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -81328,7 +84968,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_11() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81352,7 +84992,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_12() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81374,7 +85014,7 @@ class Test_TC_OPSTATE_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -81477,51 +85117,105 @@ class Test_TC_PS_1_1 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4ReadTheGlobalAttributeAttributeList_7(); break; case 8: - ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList\n"); - if (ShouldSkip("PS.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_8(); + err = TestStep4ReadTheGlobalAttributeAttributeList_8(); break; case 9: ChipLogProgress( - chipTool, " ***** Test Step 9 : Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList\n"); - if (ShouldSkip("PS.S.F01")) { + chipTool, " ***** Test Step 9 : Step 4a: Read the Feature dependent(PS.S.F00-WIRED) attribute in AttributeList\n"); + if (ShouldSkip("PS.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_9(); + err = TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_9(); break; case 10: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList\n"); - if (ShouldSkip("PS.S.F02")) { + chipTool, " ***** Test Step 10 : Step 4b: Read the Feature dependent(PS.S.F01-BAT) attribute in AttributeList\n"); + if (ShouldSkip("PS.S.F01")) { NextTest(); return; } - err = TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_10(); + err = TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_10(); break; case 11: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList\n"); - if (ShouldSkip("PS.S.F03")) { + chipTool, " ***** Test Step 11 : Step 4c: Read the Feature dependent(PS.S.F02-RECHG) attribute in AttributeList\n"); + if (ShouldSkip("PS.S.F02")) { NextTest(); return; } - err = TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_11(); + err = TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_12(); + ChipLogProgress( + chipTool, " ***** Test Step 12 : Step 4d: Read the Feature dependent(PS.S.F03-REPLC) attribute in AttributeList\n"); + if (ShouldSkip("PS.S.F03")) { + NextTest(); + return; + } + err = TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_13(); + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_13(); + break; + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_14(); + break; + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !PS.S.E00 && !PS.S.E01 && !PS.S.E02 ")) { + NextTest(); + return; + } + NextTest(); + return; + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : Step 7b: Read PS.S.E00(WiredFaultChange) event in EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E00")) { + NextTest(); + return; + } + NextTest(); + return; + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : Step 7c: Read PS.S.E01(BatFaultChange) event in EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E01")) { + NextTest(); + return; + } + NextTest(); + return; + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 7d: Read PS.S.E02(BatChargeFaultChange) event in EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PS.S.E02")) { + NextTest(); + return; + } + NextTest(); + return; + case 19: + ChipLogProgress(chipTool, + " ***** Test Step 19 : Step 7e: Read EventList attribute from the DUT.For this cluster the list is usually empty " + "but it can contain manufacturer specific event IDs.\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep7eReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_19(); break; } @@ -81576,6 +85270,24 @@ class Test_TC_PS_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -81589,7 +85301,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 14; + const uint16_t mTestCount = 20; chip::Optional mNodeId; chip::Optional mCluster; @@ -81735,6 +85447,36 @@ class Test_TC_PS_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterPowerSource alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 31UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_8() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterPowerSource alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); @@ -81757,7 +85499,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_8() + CHIP_ERROR TestStep4aReadTheFeatureDependentPSSF00WiredAttributeInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81778,7 +85520,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_9() + CHIP_ERROR TestStep4bReadTheFeatureDependentPSSF01BatAttributeInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81801,7 +85543,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_10() + CHIP_ERROR TestStep4cReadTheFeatureDependentPSSF02RechgAttributeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81823,7 +85565,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_11() + CHIP_ERROR TestStep4dReadTheFeatureDependentPSSF03ReplcAttributeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81845,7 +85587,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_12() + CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81869,7 +85611,7 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_13() + CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -81892,6 +85634,17 @@ class Test_TC_PS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7eReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_19() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_PS_2_1 : public TestCommandBridge { @@ -83118,62 +86871,74 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global mandatory attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalMandatoryAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(ScaledValue) in AttributeList\n"); - if (ShouldSkip("PRS.S.A0010")) { + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: Read the global mandatory attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeScaledValueInAttributeList_5(); + err = TestStep4aReadTheGlobalMandatoryAttributeAttributeList_5(); break; case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4b: Read the optional attribute(ScaledValue) in AttributeList\n"); + if (ShouldSkip("PRS.S.A0010")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeScaledValueInAttributeList_6(); + break; + case 7: ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4c: Read the optional attribute(MinScaledValue) in AttributeList\n"); + chipTool, " ***** Test Step 7 : Step 4c: Read the optional attribute(MinScaledValue) in AttributeList\n"); if (ShouldSkip("PRS.S.A0011")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeMinScaledValueInAttributeList_6(); + err = TestStep4cReadTheOptionalAttributeMinScaledValueInAttributeList_7(); break; - case 7: + case 8: ChipLogProgress( - chipTool, " ***** Test Step 7 : Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList\n"); + chipTool, " ***** Test Step 8 : Step 4d: Read the optional attribute(MaxScaledValue) in AttributeList\n"); if (ShouldSkip("PRS.S.A0012")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeMaxScaledValueInAttributeList_7(); + err = TestStep4dReadTheOptionalAttributeMaxScaledValueInAttributeList_8(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4e: Read the optional attribute(Scale) in AttributeList\n"); + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4e: Read the optional attribute(Scale) in AttributeList\n"); if (ShouldSkip("PRS.S.A0014")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeScaleInAttributeList_8(); + err = TestStep4eReadTheOptionalAttributeScaleInAttributeList_9(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4f: Read the optional attribute(Tolerance) in AttributeList\n"); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4f: Read the optional attribute(Tolerance) in AttributeList\n"); if (ShouldSkip("PRS.S.A0003")) { NextTest(); return; } - err = TestStep4fReadTheOptionalAttributeToleranceInAttributeList_9(); + err = TestStep4fReadTheOptionalAttributeToleranceInAttributeList_10(); break; - case 10: + case 11: ChipLogProgress( - chipTool, " ***** Test Step 10 : Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList\n"); + chipTool, " ***** Test Step 11 : Step 4g: Read the optional attribute(ScaledTolerance) in AttributeList\n"); if (ShouldSkip("PRS.S.A0013")) { NextTest(); return; } - err = TestStep4gReadTheOptionalAttributeScaledToleranceInAttributeList_10(); + err = TestStep4gReadTheOptionalAttributeScaledToleranceInAttributeList_11(); break; - case 11: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 12 : Step 4h: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -83183,11 +86948,25 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); + err = TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; - case 12: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 13 : Step 5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + break; + case 14: + ChipLogProgress(chipTool, + " ***** Test Step 14 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -83196,11 +86975,11 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); break; - case 13: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 15 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -83209,7 +86988,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15(); break; } @@ -83264,6 +87043,12 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -83277,7 +87062,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 14; + const uint16_t mTestCount = 16; chip::Optional mNodeId; chip::Optional mCluster; @@ -83385,6 +87170,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -83395,7 +87181,37 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeScaledValueInAttributeList_5() + CHIP_ERROR TestStep4aReadTheGlobalMandatoryAttributeAttributeList_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterPressureMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global mandatory attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheOptionalAttributeScaledValueInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83418,7 +87234,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeMinScaledValueInAttributeList_6() + CHIP_ERROR TestStep4cReadTheOptionalAttributeMinScaledValueInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83441,7 +87257,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeMaxScaledValueInAttributeList_7() + CHIP_ERROR TestStep4dReadTheOptionalAttributeMaxScaledValueInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83464,7 +87280,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeScaleInAttributeList_8() + CHIP_ERROR TestStep4eReadTheOptionalAttributeScaleInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83487,7 +87303,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalAttributeToleranceInAttributeList_9() + CHIP_ERROR TestStep4fReadTheOptionalAttributeToleranceInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83510,7 +87326,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheOptionalAttributeScaledToleranceInAttributeList_10() + CHIP_ERROR TestStep4gReadTheOptionalAttributeScaledToleranceInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -83534,7 +87350,18 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + TestStep4hThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + { + + 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 + TestStep5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -83545,7 +87372,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -83556,7 +87383,7 @@ class Test_TC_PRS_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_15() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -84313,168 +88140,180 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_10(); break; case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_11(); + break; + case 12: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the " + " ***** Test Step 12 : Step 4b: TH reads optional attribute(MinConstPressure) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A0003")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_11(); + err = TestStep4bThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_12(); break; - case 12: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the " + " ***** Test Step 13 : Step 4c TH reads optional attribute(MaxConstPressure) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A0004")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_12(); + err = TestStep4cThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_13(); break; - case 13: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the " + " ***** Test Step 14 : Step 4d: TH reads optional attribute(MinCompPressure) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A0005")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_13(); + err = TestStep4dThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_14(); break; - case 14: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the " + " ***** Test Step 15 : Step 4e: TH reads optional attribute(MaxCompPressure) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A0006")) { NextTest(); return; } - err = TestStep4eThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_14(); + err = TestStep4eThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_15(); break; - case 15: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the " + " ***** Test Step 16 : Step 4f: TH reads optional attribute(MinConstSpeed) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A0007")) { NextTest(); return; } - err = TestStep4fThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_15(); + err = TestStep4fThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_16(); break; - case 16: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the " + " ***** Test Step 17 : Step 4g: TH reads optional attribute(MaxConstSpeed) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A0008")) { NextTest(); return; } - err = TestStep4gThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_16(); + err = TestStep4gThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_17(); break; - case 17: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the " + " ***** Test Step 18 : Step 4h: TH reads optional attribute(MinConstFlow) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A0009")) { NextTest(); return; } - err = TestStep4hThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_17(); + err = TestStep4hThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the " + " ***** Test Step 19 : Step 4i: TH reads optional attribute(MaxConstFlow) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A000a")) { NextTest(); return; } - err = TestStep4iThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_18(); + err = TestStep4iThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the " + " ***** Test Step 20 : Step 4j: TH reads optional attribute(MinConstTemp) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A000b")) { NextTest(); return; } - err = TestStep4jThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_19(); + err = TestStep4jThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_20(); break; - case 20: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 20 : Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the " + " ***** Test Step 21 : Step 4k: TH reads optional attribute(MaxConstTemp) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A000c")) { NextTest(); return; } - err = TestStep4kThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_20(); + err = TestStep4kThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_21(); break; - case 21: + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT\n"); + " ***** Test Step 22 : Step 4l: TH reads optional attribute(PumpStatus) attribute in AttributeList from the DUT\n"); if (ShouldSkip("PCC.S.A0010")) { NextTest(); return; } - err = TestStep4lThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_21(); + err = TestStep4lThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT\n"); + " ***** Test Step 23 : Step 4m: TH reads optional attribute(Speed) attribute in AttributeList from the DUT\n"); if (ShouldSkip("PCC.S.A0014")) { NextTest(); return; } - err = TestStep4mThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_22(); + err = TestStep4mThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from " + " ***** Test Step 24 : Step 4n: TH reads optional attribute(LifetimeRunningHours) attribute in AttributeList from " "the DUT\n"); if (ShouldSkip("PCC.S.A0015")) { NextTest(); return; } - err = TestStep4nThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_23(); + err = TestStep4nThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_24(); break; - case 24: + case 25: ChipLogProgress(chipTool, - " ***** Test Step 24 : Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT\n"); + " ***** Test Step 25 : Step 4o: TH reads optional attribute(Power) attribute in AttributeList from the DUT\n"); if (ShouldSkip("PCC.S.A0016")) { NextTest(); return; } - err = TestStep4oThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_24(); + err = TestStep4oThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_25(); break; - case 25: + case 26: ChipLogProgress(chipTool, - " ***** Test Step 25 : Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList " + " ***** Test Step 26 : Step 4p: TH reads optional attribute(LifetimeEnergyConsumed) attribute in AttributeList " "from the DUT\n"); if (ShouldSkip("PCC.S.A0017")) { NextTest(); return; } - err = TestStep4pThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_25(); + err = TestStep4pThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_26(); break; - case 26: + case 27: ChipLogProgress(chipTool, - " ***** Test Step 26 : Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the " + " ***** Test Step 27 : Step 4q: TH reads optional attribute(ControlMode) attribute in AttributeList from the " "DUT\n"); if (ShouldSkip("PCC.S.A0021")) { NextTest(); return; } - err = TestStep4qThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_26(); + err = TestStep4qThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_27(); break; - case 27: + case 28: ChipLogProgress(chipTool, - " ***** Test Step 27 : Step 4r: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " + " ***** Test Step 28 : Step 4r: TH reads AttributeList attribute from DUT. 1.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " "invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -84483,11 +88322,190 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4rThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27(); + err = TestStep4rThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); break; - case 28: + case 29: + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 5a: TH reads EventList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !PCC.S.E00 && !PCC.S.E01 && !PCC.S.E02 && !PCC.S.E03 && !PCC.S.E04 && " + "!PCC.S.E05 && !PCC.S.E06 && !PCC.S.E07 && !PCC.S.E08 && !PCC.S.E09 && !PCC.S.E0a && !PCC.S.E0b && " + "!PCC.S.E0c && !PCC.S.E0d && !PCC.S.E0e && !PCC.S.E0f && !PCC.S.E10 ")) { + NextTest(); + return; + } + NextTest(); + return; + case 30: + ChipLogProgress(chipTool, + " ***** Test Step 30 : Step 5b: TH reads from the DUT the EventList optional (SupplyVoltageLow)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E00")) { + NextTest(); + return; + } + NextTest(); + return; + case 31: + ChipLogProgress(chipTool, + " ***** Test Step 31 : Step 5c: TH reads from the DUT the EventList optional (SupplyVoltageHigh)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E01")) { + NextTest(); + return; + } + NextTest(); + return; + case 32: + ChipLogProgress(chipTool, + " ***** Test Step 32 : Step 5d: TH reads from the DUT the EventList optional (PowerMissingPhase)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E02")) { + NextTest(); + return; + } + NextTest(); + return; + case 33: + ChipLogProgress(chipTool, + " ***** Test Step 33 : Step 5e: TH reads from the DUT the EventList optional (SystemPressureLow)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E03")) { + NextTest(); + return; + } + NextTest(); + return; + case 34: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 34 : Step 5f: TH reads from the DUT the EventList optional (SystemPressureHigh)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E04")) { + NextTest(); + return; + } + NextTest(); + return; + case 35: + ChipLogProgress( + chipTool, " ***** Test Step 35 : Step 5g: TH reads from the DUT the EventList optional (DryRunning)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E05")) { + NextTest(); + return; + } + NextTest(); + return; + case 36: + ChipLogProgress(chipTool, + " ***** Test Step 36 : Step 5h: TH reads from the DUT the EventList optional (MotorTemperatureHigh)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E06")) { + NextTest(); + return; + } + NextTest(); + return; + case 37: + ChipLogProgress(chipTool, + " ***** Test Step 37 : Step 5i: TH reads from the DUT the EventList optional (PumpMotorFatalFailure)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E07")) { + NextTest(); + return; + } + NextTest(); + return; + case 38: + ChipLogProgress(chipTool, + " ***** Test Step 38 : Step 5j: TH reads from the DUT the EventList optional " + "(ElectronicTemperatureHigh)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E08")) { + NextTest(); + return; + } + NextTest(); + return; + case 39: + ChipLogProgress( + chipTool, " ***** Test Step 39 : Step 5k: TH reads from the DUT the EventList optional (PumpBlocked)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E09")) { + NextTest(); + return; + } + NextTest(); + return; + case 40: + ChipLogProgress(chipTool, + " ***** Test Step 40 : Step 5l: TH reads from the DUT the EventList optional (SensorFailure)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0a")) { + NextTest(); + return; + } + NextTest(); + return; + case 41: + ChipLogProgress(chipTool, + " ***** Test Step 41 : Step 5m: TH reads from the DUT the EventList optional " + "(ElectronicNonFatalFailure)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0b")) { + NextTest(); + return; + } + NextTest(); + return; + case 42: + ChipLogProgress(chipTool, + " ***** Test Step 42 : Step 5n: TH reads from the DUT the EventList optional (ElectronicFatalFailure)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0c")) { + NextTest(); + return; + } + NextTest(); + return; + case 43: + ChipLogProgress( + chipTool, " ***** Test Step 43 : Step 5o: TH reads from the DUT the EventList optional (GeneralFault)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0d")) { + NextTest(); + return; + } + NextTest(); + return; + case 44: + ChipLogProgress( + chipTool, " ***** Test Step 44 : Step 5p: TH reads from the DUT the EventList optional (Leakage)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0e")) { + NextTest(); + return; + } + NextTest(); + return; + case 45: + ChipLogProgress( + chipTool, " ***** Test Step 45 : Step 5q: TH reads from the DUT the EventList optional (AirDetection)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E0f")) { + NextTest(); + return; + } + NextTest(); + return; + case 46: + ChipLogProgress(chipTool, + " ***** Test Step 46 : Step 5r: TH reads from the DUT the EventList optional (TurbineOperation)attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && PCC.S.E10")) { + NextTest(); + return; + } + NextTest(); + return; + case 47: + ChipLogProgress(chipTool, + " ***** Test Step 47 : Step 5s: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5sThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_47(); + break; + case 48: + ChipLogProgress(chipTool, + " ***** Test Step 48 : Step 6: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -84496,11 +88514,11 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + err = TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_48(); break; - case 29: + case 49: ChipLogProgress(chipTool, - " ***** Test Step 29 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 49 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -84509,7 +88527,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_49(); break; } @@ -84612,6 +88630,66 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { case 29: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 30: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 31: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 32: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 34: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 35: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 36: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 37: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 38: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 39: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 40: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 41: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 42: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 43: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 44: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 45: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 46: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 47: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 48: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 49: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -84625,7 +88703,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 30; + const uint16_t mTestCount = 50; chip::Optional mNodeId; chip::Optional mCluster; @@ -84863,6 +88941,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 32UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -84873,7 +88952,41 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_11() + CHIP_ERROR TestStep4aThReadsTheAttributeListAttributeFromTheDut_11() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterPumpConfigurationAndControl alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 17UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 18UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 19UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 32UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bThReadsOptionalAttributeMinConstPressureAttributeInAttributeListFromTheDut_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -84896,7 +89009,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_12() + CHIP_ERROR TestStep4cThReadsOptionalAttributeMaxConstPressureAttributeInAttributeListFromTheDut_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -84919,7 +89032,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_13() + CHIP_ERROR TestStep4dThReadsOptionalAttributeMinCompPressureAttributeInAttributeListFromTheDut_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -84942,7 +89055,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_14() + CHIP_ERROR TestStep4eThReadsOptionalAttributeMaxCompPressureAttributeInAttributeListFromTheDut_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -84965,7 +89078,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_15() + CHIP_ERROR TestStep4fThReadsOptionalAttributeMinConstSpeedAttributeInAttributeListFromTheDut_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -84988,7 +89101,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_16() + CHIP_ERROR TestStep4gThReadsOptionalAttributeMaxConstSpeedAttributeInAttributeListFromTheDut_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85011,7 +89124,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_17() + CHIP_ERROR TestStep4hThReadsOptionalAttributeMinConstFlowAttributeInAttributeListFromTheDut_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85034,7 +89147,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_18() + CHIP_ERROR TestStep4iThReadsOptionalAttributeMaxConstFlowAttributeInAttributeListFromTheDut_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85057,7 +89170,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_19() + CHIP_ERROR TestStep4jThReadsOptionalAttributeMinConstTempAttributeInAttributeListFromTheDut_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85080,7 +89193,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_20() + CHIP_ERROR TestStep4kThReadsOptionalAttributeMaxConstTempAttributeInAttributeListFromTheDut_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85103,7 +89216,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_21() + CHIP_ERROR TestStep4lThReadsOptionalAttributePumpStatusAttributeInAttributeListFromTheDut_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85126,7 +89239,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_22() + CHIP_ERROR TestStep4mThReadsOptionalAttributeSpeedAttributeInAttributeListFromTheDut_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85149,7 +89262,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_23() + CHIP_ERROR TestStep4nThReadsOptionalAttributeLifetimeRunningHoursAttributeInAttributeListFromTheDut_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85173,7 +89286,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_24() + CHIP_ERROR TestStep4oThReadsOptionalAttributePowerAttributeInAttributeListFromTheDut_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85196,7 +89309,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_25() + CHIP_ERROR TestStep4pThReadsOptionalAttributeLifetimeEnergyConsumedAttributeInAttributeListFromTheDut_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85220,7 +89333,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_26() + CHIP_ERROR TestStep4qThReadsOptionalAttributeControlModeAttributeInAttributeListFromTheDut_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -85244,7 +89357,18 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4rThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_27() + TestStep4rThReadsAttributeListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 + TestStep5sThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_47() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -85255,7 +89379,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + TestStep6ThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_48() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -85266,7 +89390,7 @@ class Test_TC_PCC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_49() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -87770,23 +91894,45 @@ class Test_TC_RH_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); - if (ShouldSkip("RH.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4(); + err = TestStep4aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("RH.S.A0003")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5ReadTheGlobalAttributeAcceptedCommandList_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeGeneratedCommandList_7(); + break; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but " + "it can contain manufacturer specific event IDs.\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_8(); break; } @@ -87820,6 +91966,12 @@ class Test_TC_RH_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -87833,7 +91985,7 @@ class Test_TC_RH_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -87909,6 +92061,37 @@ class Test_TC_RH_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterRelativeHumidityMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -87930,7 +92113,7 @@ class Test_TC_RH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4() + CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87953,7 +92136,7 @@ class Test_TC_RH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep5ReadTheGlobalAttributeAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -87979,7 +92162,7 @@ class Test_TC_RH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_6() + CHIP_ERROR TestStep6ReadTheGlobalAttributeGeneratedCommandList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -88004,6 +92187,17 @@ class Test_TC_RH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_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); + } }; class Test_TC_RH_2_1 : public TestCommandBridge { @@ -88401,24 +92595,81 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { err = TestThReadsFromTheDutTheAttributeListAttributeExpiryDate_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads from the DUT the AcceptedCommandList attribute\n"); + ChipLogProgress(chipTool, " ***** Test Step 15 : TH reads from the DUT the EventList attribute\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 16: + ChipLogProgress(chipTool, " ***** Test Step 16 : TH reads from the DUT the EventList attribute(SmokeAlarm)\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E00")) { + NextTest(); + return; + } + NextTest(); + return; + case 17: + ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads from the DUT the EventList attribute(COAlarm)\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E01")) { + NextTest(); + return; + } + NextTest(); + return; + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : TH reads from the DUT the EventList attribute(AlarmMuted)\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E06")) { + NextTest(); + return; + } + NextTest(); + return; + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : TH reads from the DUT the EventList attribute(MuteEnded)\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E07")) { + NextTest(); + return; + } + NextTest(); + return; + case 20: + ChipLogProgress( + chipTool, " ***** Test Step 20 : TH reads from the DUT the EventList attribute(InterconnectSmokeAlarm)\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E08")) { + NextTest(); + return; + } + NextTest(); + return; + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : TH reads from the DUT the EventList attribute(InterconnectCOAlarm)\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SMOKECO.S.E09")) { + NextTest(); + return; + } + NextTest(); + return; + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : TH reads from the DUT the AcceptedCommandList attribute\n"); if (ShouldSkip("!SMOKECO.S.C00.Rsp")) { NextTest(); return; } - err = TestThReadsFromTheDutTheAcceptedCommandListAttribute_15(); + err = TestThReadsFromTheDutTheAcceptedCommandListAttribute_22(); break; - case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : TH reads from the DUT the AcceptedCommandList attribute\n"); + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : TH reads from the DUT the AcceptedCommandList attribute\n"); if (ShouldSkip("SMOKECO.S.C00.Rsp")) { NextTest(); return; } - err = TestThReadsFromTheDutTheAcceptedCommandListAttribute_16(); + err = TestThReadsFromTheDutTheAcceptedCommandListAttribute_23(); break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : TH reads from the DUT the GeneratedCommandList attribute\n"); - err = TestThReadsFromTheDutTheGeneratedCommandListAttribute_17(); + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : TH reads from the DUT the GeneratedCommandList attribute\n"); + err = TestThReadsFromTheDutTheGeneratedCommandListAttribute_24(); break; } @@ -88485,6 +92736,27 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { case 17: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 23: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 24: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -88498,7 +92770,7 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 18; + const uint16_t mTestCount = 25; chip::Optional mNodeId; chip::Optional mCluster; @@ -88826,7 +93098,7 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsFromTheDutTheAcceptedCommandListAttribute_15() + CHIP_ERROR TestThReadsFromTheDutTheAcceptedCommandListAttribute_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -88850,7 +93122,7 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsFromTheDutTheAcceptedCommandListAttribute_16() + CHIP_ERROR TestThReadsFromTheDutTheAcceptedCommandListAttribute_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -88871,7 +93143,7 @@ class Test_TC_SMOKECO_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestThReadsFromTheDutTheGeneratedCommandListAttribute_17() + CHIP_ERROR TestThReadsFromTheDutTheGeneratedCommandListAttribute_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91129,19 +95401,91 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { break; case 9: ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: Read the global attribute: AttributeList\n"); - if (ShouldSkip("!SWTCH.S.F04")) { + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04")) { NextTest(); return; } err = TestStep4bReadTheGlobalAttributeAttributeList_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_10(); + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4b: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED && !SWTCH.S.F04")) { + NextTest(); + return; + } + err = TestStep4bReadTheGlobalAttributeAttributeList_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 7: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_11(); + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5a: Read the global attribute: EventList \n"); + if (ShouldSkip("!SWTCH.S.F00 && !SWTCH.S.F01 && !SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 ")) { + NextTest(); + return; + } + NextTest(); + return; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5b: Read EventList if SWTCH.S.F00(LS)\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && SWTCH.S.F00")) { + NextTest(); + return; + } + NextTest(); + return; + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5c: Read 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; + } + 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"); + if (ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && !SWTCH.S.F04 ")) { + NextTest(); + return; + } + 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"); + if (ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && !SWTCH.S.F04 ")) { + NextTest(); + return; + } + 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"); + if (ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && !SWTCH.S.F03 && SWTCH.S.F04 ")) { + NextTest(); + return; + } + 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"); + if (ShouldSkip(" PICS_EVENT_LIST_ENABLED && SWTCH.S.F01 && SWTCH.S.F02 && SWTCH.S.F03 && SWTCH.S.F04 ")) { + NextTest(); + return; + } + NextTest(); + return; + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 6: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList_18(); + break; + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : Step 7: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_19(); break; } @@ -91190,6 +95534,30 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -91203,7 +95571,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 12; + const uint16_t mTestCount = 20; chip::Optional mNodeId; chip::Optional mCluster; @@ -91389,6 +95757,34 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4b: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheGlobalAttributeAttributeList_10() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterSwitch alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4b: Read the global attribute: AttributeList Error: %@", err); @@ -91409,7 +95805,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_10() + CHIP_ERROR TestStep6ReadTheGlobalAttributeAcceptedCommandList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91433,7 +95829,7 @@ class Test_TC_SWTCH_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_11() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91510,65 +95906,108 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads the AttributeList attribute from the DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsTheAttributeListAttributeFromTheDut_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList " + " ***** Test Step 5 : Step 4b: TH reads from the DUT the optional attribute(CountdownTime) in the AttributeList " "from the DUT\n"); if (ShouldSkip("RVCOPSTATE.S.A0002")) { NextTest(); return; } - err = TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_4(); + err = TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_5(); break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6a: Read the optional command(Pause) in AcceptedCommandList\n"); + case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5a: TH reads from the DUT the EventList attribute.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 7: + ChipLogProgress(chipTool, + " ***** Test Step 7 : Step 5b: TH reads from the DUT the optional event(OperationCompletion) in EventList.\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && RVCOPSTATE.S.E01")) { + NextTest(); + return; + } + NextTest(); + return; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 5c: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5cThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + break; + case 9: + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6a: Read the optional command(Pause) in AcceptedCommandList\n"); if (ShouldSkip("RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp")) { NextTest(); return; } - err = TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_5(); + err = TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_9(); break; - case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); if (ShouldSkip("RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_6(); + err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_10(); break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6c: Read the optional command(Start) in AcceptedCommandList\n"); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6c: Read the optional command(Start) in AcceptedCommandList\n"); if (ShouldSkip("RVCOPSTATE.S.C02.Rsp")) { NextTest(); return; } - err = TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_7(); + err = TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_11(); break; - case 8: - ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); if (ShouldSkip("RVCOPSTATE.S.C03.Rsp || RVCOPSTATE.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_8(); + err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_12(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 7: Read the global attribute: GeneratedCommandList\n"); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip(" !RVCOPSTATE.S.C00.Rsp && !RVCOPSTATE.S.C01.Rsp && !RVCOPSTATE.S.C02.Rsp && !RVCOPSTATE.S.C03.Rsp ")) { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_9(); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_13(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 7: Read the global attribute: GeneratedCommandList\n"); + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 7: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip(" RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp || RVCOPSTATE.S.C03.Rsp ")) { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_10(); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_14(); break; } @@ -91614,6 +96053,18 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 11: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -91627,7 +96078,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 11; + const uint16_t mTestCount = 15; chip::Optional mNodeId; chip::Optional mCluster; @@ -91703,6 +96154,39 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsTheAttributeListAttributeFromTheDut_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterRVCOperationalState alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads the AttributeList attribute from the DUT Error: %@", err); @@ -91726,7 +96210,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_4() + CHIP_ERROR TestStep4bThReadsFromTheDutTheOptionalAttributeCountdownTimeInTheAttributeListFromTheDut_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91751,7 +96235,18 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_5() + CHIP_ERROR + TestStep5cThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_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 TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91775,7 +96270,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_6() + CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91799,7 +96294,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_7() + CHIP_ERROR TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91822,7 +96317,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_8() + CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91846,7 +96341,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_9() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91872,7 +96367,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_10() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -91948,23 +96443,45 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: - ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); - if (ShouldSkip("TMP.S.A0003")) { + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4(); + err = TestStep4aReadTheGlobalAttributeAttributeList_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5: Read AcceptedCommandList attribute from the DUT\n"); - err = TestStep5ReadAcceptedCommandListAttributeFromTheDut_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4b: Read the optional attribute(Tolerance) in AttributeList\n"); + if (ShouldSkip("TMP.S.A0003")) { + NextTest(); + return; + } + err = TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 6: Read GeneratedCommandList attribute from the DUT\n"); - err = TestStep6ReadGeneratedCommandListAttributeFromTheDut_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: Read AcceptedCommandList attribute from the DUT\n"); + err = TestStep5ReadAcceptedCommandListAttributeFromTheDut_6(); + break; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: Read GeneratedCommandList attribute from the DUT\n"); + err = TestStep6ReadGeneratedCommandListAttributeFromTheDut_7(); + break; + case 8: + ChipLogProgress(chipTool, + " ***** Test Step 8 : Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty but " + "it can contain manufacturer specific event IDs.\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_8(); break; } @@ -91998,6 +96515,12 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -92011,7 +96534,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -92087,6 +96610,37 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterTemperatureMeasurement alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -92108,7 +96662,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_4() + CHIP_ERROR TestStep4bReadTheOptionalAttributeToleranceInAttributeList_5() { MTRBaseDevice * device = GetDevice("alpha"); @@ -92131,7 +96685,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5ReadAcceptedCommandListAttributeFromTheDut_5() + CHIP_ERROR TestStep5ReadAcceptedCommandListAttributeFromTheDut_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -92157,7 +96711,7 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ReadGeneratedCommandListAttributeFromTheDut_6() + CHIP_ERROR TestStep6ReadGeneratedCommandListAttributeFromTheDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -92182,6 +96736,17 @@ class Test_TC_TMP_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_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); + } }; class Test_TC_TMP_2_1 : public TestCommandBridge { @@ -92549,412 +97114,434 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_10(); break; case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aReadTheGlobalAttributeAttributeList_11(); + break; + case 12: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList\n"); + " ***** Test Step 12 : Step 4b: Read the Feature dependent(TSTAT.S.F00(HEAT)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_11(); + err = TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_12(); break; - case 12: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList\n"); + " ***** Test Step 13 : Step 4c: Read the Feature dependent(TSTAT.S.F01(COOL)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F01")) { NextTest(); return; } - err = TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_12(); + err = TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_13(); break; - case 13: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList\n"); + " ***** Test Step 14 : Step 4d: Read the Feature dependent(TSTAT.S.F02(OCC)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F02")) { NextTest(); return; } - err = TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_13(); + err = TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_14(); break; - case 14: + case 15: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in " + " ***** Test Step 15 : Step 4e: Read the Feature dependent(TSTAT.S.F00(HEAT) & TSTAT.S.F02(OCC)) attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.F02")) { NextTest(); return; } - err = TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_14(); + err = TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_15(); break; - case 15: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in " + " ***** Test Step 16 : Step 4f: Read the Feature dependent(TSTAT.S.F01(COOL) & TSTAT.S.F02(OCC)) attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.F02")) { NextTest(); return; } - err = TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_15(); + err = TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_16(); break; - case 16: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList\n"); + " ***** Test Step 17 : Step 4g: Read the Feature dependent(TSTAT.S.F05(AUTO)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F05")) { NextTest(); return; } - err = TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_16(); + err = TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_17(); break; - case 17: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList\n"); + " ***** Test Step 18 : Step 4h: Read the Feature dependent(TSTAT.S.F03(SCH)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_17(); + err = TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_18(); break; - case 18: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList\n"); + " ***** Test Step 19 : Step 4i: Read the Feature dependent(TSTAT.S.F04(SB)) attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.F04")) { NextTest(); return; } - err = TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_18(); + err = TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress(chipTool, - " ***** Test Step 19 : Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in " + " ***** Test Step 20 : Step 4j: Read the Feature dependent(TSTAT.S.F04(SB) & TSTAT.S.F02(OCC)) attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F04 && TSTAT.S.F02")) { NextTest(); return; } - err = TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_19(); + err = TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_20(); break; - case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : Step 4k: Read the optional attribute in AttributeList\n"); + case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4k: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0001")) { NextTest(); return; } - err = TestStep4kReadTheOptionalAttributeInAttributeList_20(); + err = TestStep4kReadTheOptionalAttributeInAttributeList_21(); break; - case 21: - ChipLogProgress(chipTool, " ***** Test Step 21 : Step 4l: Read the optional attribute in AttributeList\n"); + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4l: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0009")) { NextTest(); return; } - err = TestStep4lReadTheOptionalAttributeInAttributeList_21(); + err = TestStep4lReadTheOptionalAttributeInAttributeList_22(); break; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : Step 4m: Read the optional attribute in AttributeList\n"); + case 23: + ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4m: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0010")) { NextTest(); return; } - err = TestStep4mReadTheOptionalAttributeInAttributeList_22(); + err = TestStep4mReadTheOptionalAttributeInAttributeList_23(); break; - case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : Step 4n: Read the optional attribute in AttributeList\n"); + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4n: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A001a")) { NextTest(); return; } - err = TestStep4nReadTheOptionalAttributeInAttributeList_23(); + err = TestStep4nReadTheOptionalAttributeInAttributeList_24(); break; - case 24: - ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4o: Read the optional attribute in AttributeList\n"); + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4o: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A001d")) { NextTest(); return; } - err = TestStep4oReadTheOptionalAttributeInAttributeList_24(); + err = TestStep4oReadTheOptionalAttributeInAttributeList_25(); break; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4p: Read the optional attribute in AttributeList\n"); + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4p: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0023")) { NextTest(); return; } - err = TestStep4pReadTheOptionalAttributeInAttributeList_25(); + err = TestStep4pReadTheOptionalAttributeInAttributeList_26(); break; - case 26: - ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4q: Read the optional attribute in AttributeList\n"); + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4q: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0024")) { NextTest(); return; } - err = TestStep4qReadTheOptionalAttributeInAttributeList_26(); + err = TestStep4qReadTheOptionalAttributeInAttributeList_27(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4r: Read the optional attribute in AttributeList\n"); + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4r: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0025")) { NextTest(); return; } - err = TestStep4rReadTheOptionalAttributeInAttributeList_27(); + err = TestStep4rReadTheOptionalAttributeInAttributeList_28(); break; - case 28: - ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4s: Read the optional attribute in AttributeList\n"); + case 29: + ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4s: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0029")) { NextTest(); return; } - err = TestStep4sReadTheOptionalAttributeInAttributeList_28(); + err = TestStep4sReadTheOptionalAttributeInAttributeList_29(); break; - case 29: - ChipLogProgress(chipTool, " ***** Test Step 29 : Step 4t: Read the optional attribute in AttributeList\n"); + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4t: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0030")) { NextTest(); return; } - err = TestStep4tReadTheOptionalAttributeInAttributeList_29(); + err = TestStep4tReadTheOptionalAttributeInAttributeList_30(); break; - case 30: - ChipLogProgress(chipTool, " ***** Test Step 30 : Step 4u: Read the optional attribute in AttributeList\n"); + case 31: + ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4u: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0031")) { NextTest(); return; } - err = TestStep4uReadTheOptionalAttributeInAttributeList_30(); + err = TestStep4uReadTheOptionalAttributeInAttributeList_31(); break; - case 31: - ChipLogProgress(chipTool, " ***** Test Step 31 : Step 4x: Read the optional attribute in AttributeList\n"); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : Step 4x: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0032")) { NextTest(); return; } - err = TestStep4xReadTheOptionalAttributeInAttributeList_31(); + err = TestStep4xReadTheOptionalAttributeInAttributeList_32(); break; - case 32: - ChipLogProgress(chipTool, " ***** Test Step 32 : Step 5y: Read the optional attribute: AttributeList\n"); + case 33: + ChipLogProgress(chipTool, " ***** Test Step 33 : Step 5y: Read the optional attribute: AttributeList\n"); if (ShouldSkip("TSTAT.S.A003a")) { NextTest(); return; } - err = TestStep5yReadTheOptionalAttributeAttributeList_32(); + err = TestStep5yReadTheOptionalAttributeAttributeList_33(); break; - case 33: - ChipLogProgress(chipTool, " ***** Test Step 33 : Step 4z: Read the optional attribute in AttributeList\n"); + case 34: + ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4z: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0040")) { NextTest(); return; } - err = TestStep4zReadTheOptionalAttributeInAttributeList_33(); + err = TestStep4zReadTheOptionalAttributeInAttributeList_34(); break; - case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : Step 4A: Read the optional attribute in AttributeList\n"); + case 35: + ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4A: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0041")) { NextTest(); return; } - err = TestStep4aReadTheOptionalAttributeInAttributeList_34(); + err = TestStep4aReadTheOptionalAttributeInAttributeList_35(); break; - case 35: - ChipLogProgress(chipTool, " ***** Test Step 35 : Step 4B: Read the optional attribute in AttributeList\n"); + case 36: + ChipLogProgress(chipTool, " ***** Test Step 36 : Step 4B: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0042")) { NextTest(); return; } - err = TestStep4bReadTheOptionalAttributeInAttributeList_35(); + err = TestStep4bReadTheOptionalAttributeInAttributeList_36(); break; - case 36: - ChipLogProgress(chipTool, " ***** Test Step 36 : Step 4C: Read the optional attribute in AttributeList\n"); + case 37: + ChipLogProgress(chipTool, " ***** Test Step 37 : Step 4C: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0043")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeInAttributeList_36(); + err = TestStep4cReadTheOptionalAttributeInAttributeList_37(); break; - case 37: - ChipLogProgress(chipTool, " ***** Test Step 37 : Step 5D: Read the optional attribute: AttributeList\n"); + case 38: + ChipLogProgress(chipTool, " ***** Test Step 38 : Step 5D: Read the optional attribute: AttributeList\n"); if (ShouldSkip("TSTAT.S.A0044")) { NextTest(); return; } - err = TestStep5dReadTheOptionalAttributeAttributeList_37(); + err = TestStep5dReadTheOptionalAttributeAttributeList_38(); break; - case 38: - ChipLogProgress(chipTool, " ***** Test Step 38 : Step 4E: Read the optional attribute in AttributeList\n"); + case 39: + ChipLogProgress(chipTool, " ***** Test Step 39 : Step 4E: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0045")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeInAttributeList_38(); + err = TestStep4eReadTheOptionalAttributeInAttributeList_39(); break; - case 39: - ChipLogProgress(chipTool, " ***** Test Step 39 : Step 4F: Read the optional attribute in AttributeList\n"); + case 40: + ChipLogProgress(chipTool, " ***** Test Step 40 : Step 4F: Read the optional attribute in AttributeList\n"); if (ShouldSkip("TSTAT.S.A0046")) { NextTest(); return; } - err = TestStep4fReadTheOptionalAttributeInAttributeList_39(); + err = TestStep4fReadTheOptionalAttributeInAttributeList_40(); break; - case 40: - ChipLogProgress(chipTool, " ***** Test Step 40 : Step 5G: Read the optional attribute: AttributeList\n"); + case 41: + ChipLogProgress(chipTool, " ***** Test Step 41 : Step 5G: Read the optional attribute: AttributeList\n"); if (ShouldSkip("TSTAT.S.A0047")) { NextTest(); return; } - err = TestStep5gReadTheOptionalAttributeAttributeList_40(); + err = TestStep5gReadTheOptionalAttributeAttributeList_41(); break; - case 41: + case 42: ChipLogProgress(chipTool, - " ***** Test Step 41 : Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 42 : Step 4H: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0003")) { NextTest(); return; } - err = TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_41(); + err = TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42(); break; - case 42: + case 43: ChipLogProgress(chipTool, - " ***** Test Step 42 : Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 43 : Step 4I: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0004")) { NextTest(); return; } - err = TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42(); + err = TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43(); break; - case 43: + case 44: ChipLogProgress(chipTool, - " ***** Test Step 43 : Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 44 : Step 4J: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0008")) { NextTest(); return; } - err = TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43(); + err = TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44(); break; - case 44: + case 45: ChipLogProgress(chipTool, - " ***** Test Step 44 : Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 45 : Step 4K: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0015")) { NextTest(); return; } - err = TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44(); + err = TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45(); break; - case 45: + case 46: ChipLogProgress(chipTool, - " ***** Test Step 45 : Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " + " ***** Test Step 46 : Step 4L: Read the Feature dependent(TSTAT.S.F00(HEAT)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F00 && TSTAT.S.A0016")) { NextTest(); return; } - err = TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45(); + err = TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_46(); break; - case 46: + case 47: ChipLogProgress(chipTool, - " ***** Test Step 46 : Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 47 : Step 4M: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0005")) { NextTest(); return; } - err = TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_46(); + err = TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47(); break; - case 47: + case 48: ChipLogProgress(chipTool, - " ***** Test Step 47 : Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 48 : Step 4N: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007")) { NextTest(); return; } - err = TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47(); + err = TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48(); break; - case 48: + case 49: ChipLogProgress(chipTool, - " ***** Test Step 48 : Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 49 : Step 4O: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0007")) { NextTest(); return; } - err = TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48(); + err = TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49(); break; - case 49: + case 50: ChipLogProgress(chipTool, - " ***** Test Step 49 : Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 50 : Step 4P: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0017")) { NextTest(); return; } - err = TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49(); + err = TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50(); break; - case 50: + case 51: ChipLogProgress(chipTool, - " ***** Test Step 50 : Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " + " ***** Test Step 51 : Step 4Q: Read the Feature dependent(TSTAT.S.F01(COOL)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F01 && TSTAT.S.A0018")) { NextTest(); return; } - err = TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50(); + err = TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_51(); break; - case 51: + case 52: ChipLogProgress(chipTool, - " ***** Test Step 51 : Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in " + " ***** Test Step 52 : Step 4R: Read the Feature dependent(TSTAT.S.F05(AUTO)) optional attribute in " "AttributeList\n"); if (ShouldSkip("TSTAT.S.F05 && TSTAT.S.A001e")) { NextTest(); return; } - err = TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_51(); + err = TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_52(); break; - case 52: + case 53: ChipLogProgress(chipTool, - " ***** Test Step 52 : Step 5a: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList\n"); + " ***** Test Step 53 : Step 5a: Read Feature dependent(TSTAT.S.F03(SCH)) commands in AcceptedCommandList\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestStep5aReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_52(); + err = TestStep5aReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_53(); break; - case 53: - ChipLogProgress(chipTool, " ***** Test Step 53 : Step 5b: Read the optional attribute: AcceptedCommandList\n"); + case 54: + ChipLogProgress(chipTool, " ***** Test Step 54 : Step 5b: Read the optional attribute: AcceptedCommandList\n"); if (ShouldSkip("TSTAT.S.C04.Rsp")) { NextTest(); return; } - err = TestStep5bReadTheOptionalAttributeAcceptedCommandList_53(); + err = TestStep5bReadTheOptionalAttributeAcceptedCommandList_54(); break; - case 54: - ChipLogProgress(chipTool, " ***** Test Step 54 : Step 6a: Read the global attribute: GeneratedCommandList\n"); + case 55: + ChipLogProgress(chipTool, " ***** Test Step 55 : Step 6a: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip(" !TSTAT.S.C04.Rsp && !TSTAT.S.C02.Rsp ")) { NextTest(); return; } - err = TestStep6aReadTheGlobalAttributeGeneratedCommandList_54(); + err = TestStep6aReadTheGlobalAttributeGeneratedCommandList_55(); break; - case 55: + case 56: ChipLogProgress(chipTool, - " ***** Test Step 55 : Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList\n"); + " ***** Test Step 56 : Step 6b: Read Feature dependent(TSTAT.S.F03(SCH)) commands in GeneratedCommandList\n"); if (ShouldSkip("TSTAT.S.F03")) { NextTest(); return; } - err = TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_55(); + err = TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_56(); break; - case 56: + case 57: ChipLogProgress(chipTool, - " ***** Test Step 56 : Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList\n"); + " ***** Test Step 57 : Step 6c: Read optional command (GetRelayStatusLogResponse) in GeneratedCommandList\n"); if (ShouldSkip("TSTAT.S.C04.Rsp")) { NextTest(); return; } - err = TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_56(); + err = TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_57(); + break; + case 58: + ChipLogProgress(chipTool, + " ***** Test Step 58 : Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty " + "but it can contain manufacturer specific event IDs.\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_58(); break; } @@ -93138,6 +97725,12 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { case 56: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 57: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 58: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -93151,7 +97744,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 57; + const uint16_t mTestCount = 59; chip::Optional mNodeId; chip::Optional mCluster; @@ -93340,6 +97933,35 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 27UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 28UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_11() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterThermostat alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -93361,7 +97983,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_11() + CHIP_ERROR TestStep4bReadTheFeatureDependentTSTATSF00HEATAttributeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93382,7 +98004,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_12() + CHIP_ERROR TestStep4cReadTheFeatureDependentTSTATSF01COOLAttributeInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93403,7 +98025,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_13() + CHIP_ERROR TestStep4dReadTheFeatureDependentTSTATSF02OCCAttributeInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93424,7 +98046,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_14() + CHIP_ERROR TestStep4eReadTheFeatureDependentTSTATSF00HEATTstatsf02occAttributeInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93446,7 +98068,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_15() + CHIP_ERROR TestStep4fReadTheFeatureDependentTSTATSF01COOLTstatsf02occAttributeInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93468,7 +98090,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_16() + CHIP_ERROR TestStep4gReadTheFeatureDependentTSTATSF05AUTOAttributeInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93491,7 +98113,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_17() + CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF03SCHAttributeInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93514,7 +98136,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_18() + CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF04SBAttributeInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93537,7 +98159,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_19() + CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF04SBTstatsf02occAttributeInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93561,7 +98183,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kReadTheOptionalAttributeInAttributeList_20() + CHIP_ERROR TestStep4kReadTheOptionalAttributeInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93582,7 +98204,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lReadTheOptionalAttributeInAttributeList_21() + CHIP_ERROR TestStep4lReadTheOptionalAttributeInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93603,7 +98225,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mReadTheOptionalAttributeInAttributeList_22() + CHIP_ERROR TestStep4mReadTheOptionalAttributeInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93624,7 +98246,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nReadTheOptionalAttributeInAttributeList_23() + CHIP_ERROR TestStep4nReadTheOptionalAttributeInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93645,7 +98267,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oReadTheOptionalAttributeInAttributeList_24() + CHIP_ERROR TestStep4oReadTheOptionalAttributeInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93666,7 +98288,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pReadTheOptionalAttributeInAttributeList_25() + CHIP_ERROR TestStep4pReadTheOptionalAttributeInAttributeList_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93687,7 +98309,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qReadTheOptionalAttributeInAttributeList_26() + CHIP_ERROR TestStep4qReadTheOptionalAttributeInAttributeList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93708,7 +98330,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4rReadTheOptionalAttributeInAttributeList_27() + CHIP_ERROR TestStep4rReadTheOptionalAttributeInAttributeList_28() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93729,7 +98351,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4sReadTheOptionalAttributeInAttributeList_28() + CHIP_ERROR TestStep4sReadTheOptionalAttributeInAttributeList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93750,7 +98372,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4tReadTheOptionalAttributeInAttributeList_29() + CHIP_ERROR TestStep4tReadTheOptionalAttributeInAttributeList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93771,7 +98393,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4uReadTheOptionalAttributeInAttributeList_30() + CHIP_ERROR TestStep4uReadTheOptionalAttributeInAttributeList_31() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93792,7 +98414,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4xReadTheOptionalAttributeInAttributeList_31() + CHIP_ERROR TestStep4xReadTheOptionalAttributeInAttributeList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93813,7 +98435,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5yReadTheOptionalAttributeAttributeList_32() + CHIP_ERROR TestStep5yReadTheOptionalAttributeAttributeList_33() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93834,7 +98456,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4zReadTheOptionalAttributeInAttributeList_33() + CHIP_ERROR TestStep4zReadTheOptionalAttributeInAttributeList_34() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93855,7 +98477,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheOptionalAttributeInAttributeList_34() + CHIP_ERROR TestStep4aReadTheOptionalAttributeInAttributeList_35() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93876,7 +98498,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheOptionalAttributeInAttributeList_35() + CHIP_ERROR TestStep4bReadTheOptionalAttributeInAttributeList_36() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93897,7 +98519,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeInAttributeList_36() + CHIP_ERROR TestStep4cReadTheOptionalAttributeInAttributeList_37() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93918,7 +98540,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5dReadTheOptionalAttributeAttributeList_37() + CHIP_ERROR TestStep5dReadTheOptionalAttributeAttributeList_38() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93939,7 +98561,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeInAttributeList_38() + CHIP_ERROR TestStep4eReadTheOptionalAttributeInAttributeList_39() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93960,7 +98582,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalAttributeInAttributeList_39() + CHIP_ERROR TestStep4fReadTheOptionalAttributeInAttributeList_40() { MTRBaseDevice * device = GetDevice("alpha"); @@ -93981,7 +98603,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5gReadTheOptionalAttributeAttributeList_40() + CHIP_ERROR TestStep5gReadTheOptionalAttributeAttributeList_41() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94002,7 +98624,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_41() + CHIP_ERROR TestStep4hReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94023,7 +98645,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_42() + CHIP_ERROR TestStep4iReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94044,7 +98666,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_43() + CHIP_ERROR TestStep4jReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94065,7 +98687,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_44() + CHIP_ERROR TestStep4kReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94086,7 +98708,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_45() + CHIP_ERROR TestStep4lReadTheFeatureDependentTSTATSF00HEATOptionalAttributeInAttributeList_46() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94107,7 +98729,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_46() + CHIP_ERROR TestStep4mReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94128,7 +98750,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_47() + CHIP_ERROR TestStep4nReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94149,7 +98771,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_48() + CHIP_ERROR TestStep4oReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94170,7 +98792,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_49() + CHIP_ERROR TestStep4pReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94191,7 +98813,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_50() + CHIP_ERROR TestStep4qReadTheFeatureDependentTSTATSF01COOLOptionalAttributeInAttributeList_51() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94212,7 +98834,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_51() + CHIP_ERROR TestStep4rReadTheFeatureDependentTSTATSF05AUTOOptionalAttributeInAttributeList_52() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94233,7 +98855,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5aReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_52() + CHIP_ERROR TestStep5aReadFeatureDependentTSTATSF03SCHCommandsInAcceptedCommandList_53() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94257,7 +98879,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5bReadTheOptionalAttributeAcceptedCommandList_53() + CHIP_ERROR TestStep5bReadTheOptionalAttributeAcceptedCommandList_54() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94278,7 +98900,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheGlobalAttributeGeneratedCommandList_54() + CHIP_ERROR TestStep6aReadTheGlobalAttributeGeneratedCommandList_55() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94302,7 +98924,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_55() + CHIP_ERROR TestStep6bReadFeatureDependentTSTATSF03SCHCommandsInGeneratedCommandList_56() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94323,7 +98945,7 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_56() + CHIP_ERROR TestStep6cReadOptionalCommandGetRelayStatusLogResponseInGeneratedCommandList_57() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94343,6 +98965,17 @@ class Test_TC_TSTAT_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } + + CHIP_ERROR + TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_58() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } }; class Test_TC_TSUIC_1_1 : public TestCommandBridge { @@ -94396,12 +99029,24 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { err = TestStep3ReadFeatureMapAttributeFromTheDut_2(); break; case 3: - ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); - err = TestStep4aReadTheGlobalAttributeAttributeList_3(); + ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ReadTheGlobalAttributeAttributeList_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ReadTheGlobalAttributeAttributeList_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -94411,15 +99056,15 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); - break; - case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 5a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep5aReadTheGlobalAttributeAcceptedCommandList_5(); + err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep5aReadTheGlobalAttributeAcceptedCommandList_6(); + break; + case 7: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 5b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any " + " ***** Test Step 7 : Step 5b: Read the global attribute: AcceptedCommandList. 1. The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " @@ -94429,15 +99074,15 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep5bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); - break; - case 7: - ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeGeneratedCommandList_7(); + err = TestStep5bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); break; case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeGeneratedCommandList_8(); + break; + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 6b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " + " ***** Test Step 9 : Step 6b: Read the global attribute: GeneratedCommandList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " @@ -94447,7 +99092,17 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep6bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); + break; + case 10: + ChipLogProgress(chipTool, + " ***** Test Step 10 : Step 7: Read EventList attribute from the DUT.For this cluster the list is usually empty " + "but it can contain manufacturer specific event IDs.\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_10(); break; } @@ -94487,6 +99142,12 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { case 8: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 9: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 10: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -94500,7 +99161,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 9; + const uint16_t mTestCount = 11; chip::Optional mNodeId; chip::Optional mCluster; @@ -94567,7 +99228,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_3() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_3() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94577,7 +99238,38 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterThermostatUserInterfaceConfiguration alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -94598,7 +99290,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() + TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -94608,7 +99300,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep5aReadTheGlobalAttributeAcceptedCommandList_5() + CHIP_ERROR TestStep5aReadTheGlobalAttributeAcceptedCommandList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94635,7 +99327,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep5bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep5bReadTheGlobalAttributeAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -94645,7 +99337,7 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeGeneratedCommandList_7() + CHIP_ERROR TestStep6aReadTheGlobalAttributeGeneratedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -94672,7 +99364,18 @@ class Test_TC_TSUIC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() + TestStep6bReadTheGlobalAttributeGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + { + + 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 + TestStep7ReadEventListAttributeFromTheDUTForThisClusterTheListIsUsuallyEmptyButItCanContainManufacturerSpecificEventIDs_10() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -96215,80 +100918,132 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { break; case 7: ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: TH reads mandatory attributes in AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsMandatoryAttributesInAttributeListFromDut_7(); break; case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: TH reads mandatory attributes in AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsMandatoryAttributesInAttributeListFromDut_8(); + break; + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4b: TH reads Feature dependent attribute(DGTHREAD.S.F01(ERRCNT)) in attributeList\n"); + " ***** Test Step 9 : Step 4b: TH reads Feature dependent attribute(DGTHREAD.S.F01(ERRCNT)) in attributeList\n"); if (ShouldSkip("DGTHREAD.S.A0006 && DGTHREAD.S.F01")) { NextTest(); return; } - err = TestStep4bThReadsFeatureDependentAttributeDGTHREADSF01ERRCNTInAttributeList_8(); + err = TestStep4bThReadsFeatureDependentAttributeDGTHREADSF01ERRCNTInAttributeList_9(); break; - case 9: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4c: TH reads Feature dependent attribute (DGTHREAD.S.F02(MLECNT)) in attributeList\n"); + " ***** Test Step 10 : Step 4c: TH reads Feature dependent attribute (DGTHREAD.S.F02(MLECNT)) in attributeList\n"); if (ShouldSkip("DGTHREAD.S.F02")) { NextTest(); return; } - err = TestStep4cThReadsFeatureDependentAttributeDgthreadsf02mlecntInAttributeList_9(); + err = TestStep4cThReadsFeatureDependentAttributeDgthreadsf02mlecntInAttributeList_10(); break; - case 10: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4d: TH reads Feature dependent attribute (DGTHREAD.S.F03(MACCNT)) in attributeList\n"); + " ***** Test Step 11 : Step 4d: TH reads Feature dependent attribute (DGTHREAD.S.F03(MACCNT)) in attributeList\n"); if (ShouldSkip("DGTHREAD.S.F03")) { NextTest(); return; } - err = TestStep4dThReadsFeatureDependentAttributeDgthreadsf03maccntInAttributeList_10(); + err = TestStep4dThReadsFeatureDependentAttributeDgthreadsf03maccntInAttributeList_11(); break; - case 11: + case 12: ChipLogProgress( - chipTool, " ***** Test Step 11 : Step 4e: Read the optional attribute (ActiveTimestamp) in AttributeList\n"); + chipTool, " ***** Test Step 12 : Step 4e: Read the optional attribute (ActiveTimestamp) in AttributeList\n"); if (ShouldSkip("DGTHREAD.S.A0038")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeActiveTimestampInAttributeList_11(); + err = TestStep4eReadTheOptionalAttributeActiveTimestampInAttributeList_12(); break; - case 12: + case 13: ChipLogProgress( - chipTool, " ***** Test Step 12 : Step 4f: Read the optional attribute (PendingTimestamp) in AttributeList\n"); + chipTool, " ***** Test Step 13 : Step 4f: Read the optional attribute (PendingTimestamp) in AttributeList\n"); if (ShouldSkip("DGTHREAD.S.A0039")) { NextTest(); return; } - err = TestStep4fReadTheOptionalAttributePendingTimestampInAttributeList_12(); + err = TestStep4fReadTheOptionalAttributePendingTimestampInAttributeList_13(); break; - case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Step 4g: Read the optional attribute (Delay) in AttributeList\n"); + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4g: Read the optional attribute (Delay) in AttributeList\n"); if (ShouldSkip("DGTHREAD.S.A003a")) { NextTest(); return; } - err = TestStep4gReadTheOptionalAttributeDelayInAttributeList_13(); + err = TestStep4gReadTheOptionalAttributeDelayInAttributeList_14(); break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5a: TH reads EventList from DUT\n"); + if (ShouldSkip(" !DGTHREAD.S.E00 && !DGTHREAD.S.E01 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 16: + ChipLogProgress( + chipTool, " ***** Test Step 16 : Step 5b: TH reads DGTHREAD.S.E00(ConnectionStatus) event in EventList\n"); + if (ShouldSkip("DGTHREAD.S.E00 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 17: + ChipLogProgress( + chipTool, " ***** Test Step 17 : Step 5c: TH reads DGTHREAD.S.E01(NetworkFaultChange) event in EventList\n"); + if (ShouldSkip("DGTHREAD.S.E01 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 18: + ChipLogProgress(chipTool, + " ***** Test Step 18 : Step 5d: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5dThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); + break; + case 19: + ChipLogProgress(chipTool, " ***** Test Step 19 : Step 6a: TH reads AcceptedCommandList from DUT\n"); if (ShouldSkip(" !DGTHREAD.S.F01 ")) { NextTest(); return; } - err = TestStep6aThReadsAcceptedCommandListFromDut_14(); + err = TestStep6aThReadsAcceptedCommandListFromDut_19(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6b: TH reads AcceptedCommandList from DUT\n"); + case 20: + ChipLogProgress(chipTool, " ***** Test Step 20 : Step 6b: TH reads AcceptedCommandList from DUT\n"); if (ShouldSkip("DGTHREAD.S.F01")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListFromDut_15(); + err = TestStep6bThReadsAcceptedCommandListFromDut_20(); break; - case 16: + case 21: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 21 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -96297,15 +101052,15 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21(); break; - case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : Step 7a: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7aThReadsGeneratedCommandListFromDut_17(); + case 22: + ChipLogProgress(chipTool, " ***** Test Step 22 : Step 7a: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7aThReadsGeneratedCommandListFromDut_22(); break; - case 18: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 18 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 23 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -96314,7 +101069,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_23(); break; } @@ -96384,6 +101139,21 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 21: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 22: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 23: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -96397,7 +101167,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 19; + const uint16_t mTestCount = 24; chip::Optional mNodeId; chip::Optional mCluster; @@ -96557,6 +101327,51 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads mandatory attributes in AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 5UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 8UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 9UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 11UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 12UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 13UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 59UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 60UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 61UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 62UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsMandatoryAttributesInAttributeListFromDut_8() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterThreadNetworkDiagnostics alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads mandatory attributes in AttributeList from DUT Error: %@", err); @@ -96592,7 +101407,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFeatureDependentAttributeDGTHREADSF01ERRCNTInAttributeList_8() + CHIP_ERROR TestStep4bThReadsFeatureDependentAttributeDGTHREADSF01ERRCNTInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96615,7 +101430,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsFeatureDependentAttributeDgthreadsf02mlecntInAttributeList_9() + CHIP_ERROR TestStep4cThReadsFeatureDependentAttributeDgthreadsf02mlecntInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96645,7 +101460,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsFeatureDependentAttributeDgthreadsf03maccntInAttributeList_10() + CHIP_ERROR TestStep4dThReadsFeatureDependentAttributeDgthreadsf03maccntInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96701,7 +101516,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeActiveTimestampInAttributeList_11() + CHIP_ERROR TestStep4eReadTheOptionalAttributeActiveTimestampInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96724,7 +101539,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheOptionalAttributePendingTimestampInAttributeList_12() + CHIP_ERROR TestStep4fReadTheOptionalAttributePendingTimestampInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96747,7 +101562,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gReadTheOptionalAttributeDelayInAttributeList_13() + CHIP_ERROR TestStep4gReadTheOptionalAttributeDelayInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96770,7 +101585,18 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_14() + CHIP_ERROR + TestStep5dThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + { + + 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 TestStep6aThReadsAcceptedCommandListFromDut_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96796,7 +101622,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_15() + CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96820,7 +101646,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -96830,7 +101656,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_17() + CHIP_ERROR TestStep7aThReadsGeneratedCommandListFromDut_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96857,7 +101683,7 @@ class Test_TC_DGTHREAD_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_18() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_23() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -96988,91 +101814,103 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { break; case 10: ChipLogProgress(chipTool, " ***** Test Step 10 : TS4: Check for mandatory attributes in AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestTs4CheckForMandatoryAttributesInAttributeList_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : TS4: Check for optional attribute TimeSource in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 11 : TS4: Check for mandatory attributes in AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestTs4CheckForOptionalAttributeTimeSourceInAttributeList_11(); + err = TestTs4CheckForMandatoryAttributesInAttributeList_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : TS4: Check for optional attribute TimeSource not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.A0002")) { + ChipLogProgress(chipTool, " ***** Test Step 12 : TS4: Check for optional attribute TimeSource in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.A0002")) { NextTest(); return; } - err = TestTs4CheckForOptionalAttributeTimeSourceNotInAttributeList_12(); + err = TestTs4CheckForOptionalAttributeTimeSourceInAttributeList_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : TS4: Check for TZ feature-based attributes in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 13 : TS4: Check for optional attribute TimeSource not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.A0002")) { NextTest(); return; } - err = TestTs4CheckForTzFeatureBasedAttributesInAttributeList_13(); + err = TestTs4CheckForOptionalAttributeTimeSourceNotInAttributeList_13(); break; case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : TS4: Check for TZ feature-based attributes not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.F00")) { + ChipLogProgress(chipTool, " ***** Test Step 14 : TS4: Check for TZ feature-based attributes in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs4CheckForTzFeatureBasedAttributesNotInAttributeList_14(); + err = TestTs4CheckForTzFeatureBasedAttributesInAttributeList_14(); break; case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : TS4: Check for NTPC feature-based attributes in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.F01")) { + ChipLogProgress(chipTool, " ***** Test Step 15 : TS4: Check for TZ feature-based attributes not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs4CheckForNtpcFeatureBasedAttributesInAttributeList_15(); + err = TestTs4CheckForTzFeatureBasedAttributesNotInAttributeList_15(); break; case 16: - ChipLogProgress(chipTool, " ***** Test Step 16 : TS4: Check for NTPC feature-based attributes not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.F01")) { + ChipLogProgress(chipTool, " ***** Test Step 16 : TS4: Check for NTPC feature-based attributes in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.F01")) { NextTest(); return; } - err = TestTs4CheckForNtpcFeatureBasedAttributesNotInAttributeList_16(); + err = TestTs4CheckForNtpcFeatureBasedAttributesInAttributeList_16(); break; case 17: - ChipLogProgress(chipTool, " ***** Test Step 17 : TS4: Check for NTPS feature-based attributes in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.F02")) { + ChipLogProgress(chipTool, " ***** Test Step 17 : TS4: Check for NTPC feature-based attributes not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.F01")) { NextTest(); return; } - err = TestTs4CheckForNtpsFeatureBasedAttributesInAttributeList_17(); + err = TestTs4CheckForNtpcFeatureBasedAttributesNotInAttributeList_17(); break; case 18: - ChipLogProgress(chipTool, " ***** Test Step 18 : TS4: Check for NTPS feature-based attributes not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.F02")) { + ChipLogProgress(chipTool, " ***** Test Step 18 : TS4: Check for NTPS feature-based attributes in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.F02")) { NextTest(); return; } - err = TestTs4CheckForNtpsFeatureBasedAttributesNotInAttributeList_18(); + err = TestTs4CheckForNtpsFeatureBasedAttributesInAttributeList_18(); break; case 19: - ChipLogProgress(chipTool, " ***** Test Step 19 : TS4: Check for TSC feature-based attributes in AttributeList\n"); - if (ShouldSkip("TIMESYNC.S.F03")) { + ChipLogProgress(chipTool, " ***** Test Step 19 : TS4: Check for NTPS feature-based attributes not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.F02")) { NextTest(); return; } - err = TestTs4CheckForTscFeatureBasedAttributesInAttributeList_19(); + err = TestTs4CheckForNtpsFeatureBasedAttributesNotInAttributeList_19(); break; case 20: - ChipLogProgress(chipTool, " ***** Test Step 20 : TS4: Check for TSC feature-based attributes not in AttributeList\n"); - if (ShouldSkip("!TIMESYNC.S.F03")) { + ChipLogProgress(chipTool, " ***** Test Step 20 : TS4: Check for TSC feature-based attributes in AttributeList\n"); + if (ShouldSkip("TIMESYNC.S.F03")) { NextTest(); return; } - err = TestTs4CheckForTscFeatureBasedAttributesNotInAttributeList_20(); + err = TestTs4CheckForTscFeatureBasedAttributesInAttributeList_20(); break; case 21: + ChipLogProgress(chipTool, " ***** Test Step 21 : TS4: Check for TSC feature-based attributes not in AttributeList\n"); + if (ShouldSkip("!TIMESYNC.S.F03")) { + NextTest(); + return; + } + err = TestTs4CheckForTscFeatureBasedAttributesNotInAttributeList_21(); + break; + case 22: ChipLogProgress(chipTool, - " ***** Test Step 21 : TS4: Check for mandatory attributes in AttributeList. 1.The list SHALL NOT contain any " + " ***** Test Step 22 : TS4: Check for mandatory attributes in AttributeList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -97082,66 +101920,120 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestTs4CheckForMandatoryAttributesInAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21(); - break; - case 22: - ChipLogProgress(chipTool, " ***** Test Step 22 : TS6: Check for mandatory commands in AcceptedCommandList\n"); - err = TestTs6CheckForMandatoryCommandsInAcceptedCommandList_22(); + err = TestTs4CheckForMandatoryAttributesInAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_22(); break; case 23: - ChipLogProgress(chipTool, " ***** Test Step 23 : TS6: Check for TZ feature-based commands in AcceptedCommandList\n"); + ChipLogProgress(chipTool, " ***** Test Step 23 : TS5: Check for mandatory events in EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 24: + ChipLogProgress(chipTool, " ***** Test Step 24 : TS5: Check for TZ feature-based events in EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F00")) { + NextTest(); + return; + } + NextTest(); + return; + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : TS5: Check for TZ feature-based events not in EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F00")) { + NextTest(); + return; + } + NextTest(); + return; + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : TS5: Check for TSC feature-based events in EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && TIMESYNC.S.F03")) { + NextTest(); + return; + } + NextTest(); + return; + case 27: + ChipLogProgress(chipTool, " ***** Test Step 27 : TS5: Check for TSC feature-based events not in EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED && !TIMESYNC.S.F03")) { + NextTest(); + return; + } + NextTest(); + return; + case 28: + ChipLogProgress(chipTool, + " ***** Test Step 28 : TS5: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestTs5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28(); + break; + case 29: + ChipLogProgress(chipTool, " ***** Test Step 29 : TS6: Check for mandatory commands in AcceptedCommandList\n"); + err = TestTs6CheckForMandatoryCommandsInAcceptedCommandList_29(); + break; + case 30: + ChipLogProgress(chipTool, " ***** Test Step 30 : TS6: Check for TZ feature-based commands in AcceptedCommandList\n"); if (ShouldSkip("TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_23(); + err = TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_30(); break; - case 24: + case 31: ChipLogProgress( - chipTool, " ***** Test Step 24 : TS6: Check for TZ feature-based commands in not AcceptedCommandList\n"); + chipTool, " ***** Test Step 31 : TS6: Check for TZ feature-based commands in not AcceptedCommandList\n"); if (ShouldSkip("!TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_24(); + err = TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_31(); break; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : TS6: Check for NTPC feature-based commands in AcceptedCommandList\n"); + case 32: + ChipLogProgress(chipTool, " ***** Test Step 32 : TS6: Check for NTPC feature-based commands in AcceptedCommandList\n"); if (ShouldSkip("TIMESYNC.S.F01")) { NextTest(); return; } - err = TestTs6CheckForNtpcFeatureBasedCommandsInAcceptedCommandList_25(); + err = TestTs6CheckForNtpcFeatureBasedCommandsInAcceptedCommandList_32(); break; - case 26: + case 33: ChipLogProgress( - chipTool, " ***** Test Step 26 : TS6: Check for NTPC feature-based commands in not AcceptedCommandList\n"); + chipTool, " ***** Test Step 33 : TS6: Check for NTPC feature-based commands in not AcceptedCommandList\n"); if (ShouldSkip("!TIMESYNC.S.F01")) { NextTest(); return; } - err = TestTs6CheckForNtpcFeatureBasedCommandsInNotAcceptedCommandList_26(); + err = TestTs6CheckForNtpcFeatureBasedCommandsInNotAcceptedCommandList_33(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : TS6: Check for TSC feature-based commands in AcceptedCommandList\n"); + case 34: + ChipLogProgress(chipTool, " ***** Test Step 34 : TS6: Check for TSC feature-based commands in AcceptedCommandList\n"); if (ShouldSkip("TIMESYNC.S.F03")) { NextTest(); return; } - err = TestTs6CheckForTscFeatureBasedCommandsInAcceptedCommandList_27(); + err = TestTs6CheckForTscFeatureBasedCommandsInAcceptedCommandList_34(); break; - case 28: + case 35: ChipLogProgress( - chipTool, " ***** Test Step 28 : TS6: Check for TSC feature-based commands in not AcceptedCommandList\n"); + chipTool, " ***** Test Step 35 : TS6: Check for TSC feature-based commands in not AcceptedCommandList\n"); if (ShouldSkip("!TIMESYNC.S.F03")) { NextTest(); return; } - err = TestTs6CheckForTscFeatureBasedCommandsInNotAcceptedCommandList_28(); + err = TestTs6CheckForTscFeatureBasedCommandsInNotAcceptedCommandList_35(); break; - case 29: + case 36: ChipLogProgress(chipTool, - " ***** Test Step 29 : TS6: Check for mandatory commands in AcceptedCommandList. 1. The list SHALL NOT contain any " + " ***** Test Step 36 : TS6: Check for mandatory commands in AcceptedCommandList. 1. The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF) 2. The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any values in the Test " @@ -97151,28 +102043,28 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestTs6CheckForMandatoryCommandsInAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29(); + err = TestTs6CheckForMandatoryCommandsInAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_36(); break; - case 30: - ChipLogProgress(chipTool, " ***** Test Step 30 : TS7: Check for TZ feature-based commands in GeneratedCommandList\n"); + case 37: + ChipLogProgress(chipTool, " ***** Test Step 37 : TS7: Check for TZ feature-based commands in GeneratedCommandList\n"); if (ShouldSkip("TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs7CheckForTzFeatureBasedCommandsInGeneratedCommandList_30(); + err = TestTs7CheckForTzFeatureBasedCommandsInGeneratedCommandList_37(); break; - case 31: + case 38: ChipLogProgress( - chipTool, " ***** Test Step 31 : TS7: Check for TZ feature-based commands in not GeneratedCommandList\n"); + chipTool, " ***** Test Step 38 : TS7: Check for TZ feature-based commands in not GeneratedCommandList\n"); if (ShouldSkip("!TIMESYNC.S.F00")) { NextTest(); return; } - err = TestTs7CheckForTzFeatureBasedCommandsInNotGeneratedCommandList_31(); + err = TestTs7CheckForTzFeatureBasedCommandsInNotGeneratedCommandList_38(); break; - case 32: + case 39: ChipLogProgress(chipTool, - " ***** Test Step 32 : TS7: Check for mandatory commands in GeneratedCommandList. 1.The list SHALL NOT contain any " + " ***** Test Step 39 : TS7: Check for mandatory commands in GeneratedCommandList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT contain any values in the Test " @@ -97182,7 +102074,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestTs7CheckForMandatoryCommandsInGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_32(); + err = TestTs7CheckForMandatoryCommandsInGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_39(); break; } @@ -97294,6 +102186,27 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { case 32: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 33: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 34: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 35: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 36: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 37: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 38: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 39: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -97307,7 +102220,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 33; + const uint16_t mTestCount = 40; chip::Optional mNodeId; chip::Optional mCluster; @@ -97524,6 +102437,35 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"TS4: Check for mandatory attributes in AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestTs4CheckForMandatoryAttributesInAttributeList_11() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterTimeSynchronization alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"TS4: Check for mandatory attributes in AttributeList Error: %@", err); @@ -97543,7 +102485,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForOptionalAttributeTimeSourceInAttributeList_11() + CHIP_ERROR TestTs4CheckForOptionalAttributeTimeSourceInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97565,7 +102507,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForOptionalAttributeTimeSourceNotInAttributeList_12() + CHIP_ERROR TestTs4CheckForOptionalAttributeTimeSourceNotInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97587,7 +102529,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForTzFeatureBasedAttributesInAttributeList_13() + CHIP_ERROR TestTs4CheckForTzFeatureBasedAttributesInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97614,7 +102556,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForTzFeatureBasedAttributesNotInAttributeList_14() + CHIP_ERROR TestTs4CheckForTzFeatureBasedAttributesNotInAttributeList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97641,7 +102583,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForNtpcFeatureBasedAttributesInAttributeList_15() + CHIP_ERROR TestTs4CheckForNtpcFeatureBasedAttributesInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97664,7 +102606,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForNtpcFeatureBasedAttributesNotInAttributeList_16() + CHIP_ERROR TestTs4CheckForNtpcFeatureBasedAttributesNotInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97687,7 +102629,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForNtpsFeatureBasedAttributesInAttributeList_17() + CHIP_ERROR TestTs4CheckForNtpsFeatureBasedAttributesInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97709,7 +102651,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForNtpsFeatureBasedAttributesNotInAttributeList_18() + CHIP_ERROR TestTs4CheckForNtpsFeatureBasedAttributesNotInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97731,7 +102673,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForTscFeatureBasedAttributesInAttributeList_19() + CHIP_ERROR TestTs4CheckForTscFeatureBasedAttributesInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97753,7 +102695,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs4CheckForTscFeatureBasedAttributesNotInAttributeList_20() + CHIP_ERROR TestTs4CheckForTscFeatureBasedAttributesNotInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97776,7 +102718,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestTs4CheckForMandatoryAttributesInAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_21() + TestTs4CheckForMandatoryAttributesInAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_22() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -97786,7 +102728,18 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestTs6CheckForMandatoryCommandsInAcceptedCommandList_22() + CHIP_ERROR + TestTs5ThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_28() + { + + 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 TestTs6CheckForMandatoryCommandsInAcceptedCommandList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97808,7 +102761,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_23() + CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInAcceptedCommandList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97831,7 +102784,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_24() + CHIP_ERROR TestTs6CheckForTzFeatureBasedCommandsInNotAcceptedCommandList_31() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97854,7 +102807,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForNtpcFeatureBasedCommandsInAcceptedCommandList_25() + CHIP_ERROR TestTs6CheckForNtpcFeatureBasedCommandsInAcceptedCommandList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97876,7 +102829,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForNtpcFeatureBasedCommandsInNotAcceptedCommandList_26() + CHIP_ERROR TestTs6CheckForNtpcFeatureBasedCommandsInNotAcceptedCommandList_33() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97898,7 +102851,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTscFeatureBasedCommandsInAcceptedCommandList_27() + CHIP_ERROR TestTs6CheckForTscFeatureBasedCommandsInAcceptedCommandList_34() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97920,7 +102873,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs6CheckForTscFeatureBasedCommandsInNotAcceptedCommandList_28() + CHIP_ERROR TestTs6CheckForTscFeatureBasedCommandsInNotAcceptedCommandList_35() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97943,7 +102896,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestTs6CheckForMandatoryCommandsInAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_29() + TestTs6CheckForMandatoryCommandsInAcceptedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_36() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -97953,7 +102906,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestTs7CheckForTzFeatureBasedCommandsInGeneratedCommandList_30() + CHIP_ERROR TestTs7CheckForTzFeatureBasedCommandsInGeneratedCommandList_37() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97975,7 +102928,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestTs7CheckForTzFeatureBasedCommandsInNotGeneratedCommandList_31() + CHIP_ERROR TestTs7CheckForTzFeatureBasedCommandsInNotGeneratedCommandList_38() { MTRBaseDevice * device = GetDevice("alpha"); @@ -97998,7 +102951,7 @@ class Test_TC_TIMESYNC_1_1 : public TestCommandBridge { } CHIP_ERROR - TestTs7CheckForMandatoryCommandsInGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_32() + TestTs7CheckForMandatoryCommandsInGeneratedCommandList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_39() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -98349,11 +103302,23 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { break; case 3: ChipLogProgress(chipTool, " ***** Test Step 3 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_3(); break; case 4: + ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aReadTheGlobalAttributeAttributeList_4(); + break; + case 5: ChipLogProgress(chipTool, - " ***** Test Step 4 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " + " ***** Test Step 5 : Step 4b: Read the global attribute: AttributeList. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -98363,11 +103328,24 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4(); + err = TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); break; - case 5: + case 6: + ChipLogProgress(chipTool, + " ***** Test Step 6 : Step 5: Read the global attribute: EventList. 1.The list MAY contain values in the " + "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " + "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " + "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " + "XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5ReadTheGlobalAttributeEventList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + break; + case 7: ChipLogProgress(chipTool, - " ***** Test Step 5 : Step 6: Read the global attribute: AcceptedCommandList. 1.The list MAY contain values in the " + " ***** Test Step 7 : Step 6: Read the global attribute: AcceptedCommandList. 1.The list MAY contain values in the " "Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI range " "(0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test Vendor or " "invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where " @@ -98376,11 +103354,11 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6ReadTheGlobalAttributeAcceptedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5(); + err = TestStep6ReadTheGlobalAttributeAcceptedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7(); break; - case 6: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 7: Read the global attribute: GeneratedCommandList. 1.The list MAY contain values in " + " ***** Test Step 8 : Step 7: Read the global attribute: GeneratedCommandList. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -98389,7 +103367,7 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6(); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); break; } @@ -98423,6 +103401,12 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -98436,7 +103420,7 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -98506,6 +103490,33 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterUserLabel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_4() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterUserLabel alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -98526,7 +103537,7 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_4() + TestStep4bReadTheGlobalAttributeAttributeList1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -98537,7 +103548,7 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6ReadTheGlobalAttributeAcceptedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_5() + TestStep5ReadTheGlobalAttributeEventList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -98548,7 +103559,18 @@ class Test_TC_ULABEL_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ReadTheGlobalAttributeGeneratedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_6() + TestStep6ReadTheGlobalAttributeAcceptedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_7() + { + + 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 + TestStep7ReadTheGlobalAttributeGeneratedCommandList1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -99344,57 +104366,104 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { break; case 5: ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_5(); break; case 6: + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListFromDut_6(); + break; + case 7: ChipLogProgress(chipTool, - " ***** Test Step 6 : Step 4b: TH reads Feature dependent(DGWIFI.S.F00) attributes in attributeList from DUT\n"); + " ***** Test Step 7 : Step 4b: TH reads Feature dependent(DGWIFI.S.F00) attributes in attributeList from DUT\n"); if (ShouldSkip("DGWIFI.S.F00")) { NextTest(); return; } - err = TestStep4bThReadsFeatureDependentDGWIFISF00AttributesInAttributeListFromDut_6(); + err = TestStep4bThReadsFeatureDependentDGWIFISF00AttributesInAttributeListFromDut_7(); break; - case 7: + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 4c: TH reads Feature dependent(DGWIFI.S.F01) attributes in attributeList from DUT\n"); + " ***** Test Step 8 : Step 4c: TH reads Feature dependent(DGWIFI.S.F01) attributes in attributeList from DUT\n"); if (ShouldSkip("DGWIFI.S.F01")) { NextTest(); return; } - err = TestStep4cThReadsFeatureDependentDGWIFISF01AttributesInAttributeListFromDut_7(); + err = TestStep4cThReadsFeatureDependentDGWIFISF01AttributesInAttributeListFromDut_8(); break; - case 8: + case 9: ChipLogProgress( - chipTool, " ***** Test Step 8 : Step 4d: TH reads optional attribute (CurrentMaxRate) in AttributeList from DUT\n"); + chipTool, " ***** Test Step 9 : Step 4d: TH reads optional attribute (CurrentMaxRate) in AttributeList from DUT\n"); if (ShouldSkip("DGWIFI.S.A000b")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributeCurrentMaxRateInAttributeListFromDut_8(); + err = TestStep4dThReadsOptionalAttributeCurrentMaxRateInAttributeListFromDut_9(); break; - case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 5a: TH reads AcceptedCommandList from DUT\n"); + case 10: + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 5a: TH reads AcceptedCommandList from DUT\n"); if (ShouldSkip(" !DGWIFI.S.F01 ")) { NextTest(); return; } - err = TestStep5aThReadsAcceptedCommandListFromDut_9(); + err = TestStep5aThReadsAcceptedCommandListFromDut_10(); break; - case 10: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 5b: TH reads Feature dependent(DGWIFI.S.F01) command in AcceptedCommandList from " + " ***** Test Step 11 : Step 5b: TH reads Feature dependent(DGWIFI.S.F01) command in AcceptedCommandList from " "DUT\n"); if (ShouldSkip("DGWIFI.S.F01")) { NextTest(); return; } - err = TestStep5bThReadsFeatureDependentDGWIFISF01CommandInAcceptedCommandListFromDut_10(); + err = TestStep5bThReadsFeatureDependentDGWIFISF01CommandInAcceptedCommandListFromDut_11(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6: TH reads GeneratedCommandList from DUT\n"); - err = TestStep6ThReadsGeneratedCommandListFromDut_11(); + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6: TH reads GeneratedCommandList from DUT\n"); + err = TestStep6ThReadsGeneratedCommandListFromDut_12(); break; + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7a: TH reads EventList from DUT\n"); + if (ShouldSkip(" !DGWIFI.S.E00 && !DGWIFI.S.E01 && !DGWIFI.S.E02 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 14: + ChipLogProgress( + chipTool, " ***** Test Step 14 : Step 7b: TH reads optional attribute (Disconnection) in EventList from DUT\n"); + if (ShouldSkip("DGWIFI.S.E00 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 15: + ChipLogProgress(chipTool, + " ***** Test Step 15 : Step 7c: TH reads optional attribute (AssociationFailure) in EventList from DUT\n"); + if (ShouldSkip("DGWIFI.S.E01 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 16: + ChipLogProgress( + chipTool, " ***** Test Step 16 : Step 7d: TH reads optional attribute (ConnectionStatus) in EventList from DUT\n"); + if (ShouldSkip("DGWIFI.S.E02 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; } if (CHIP_NO_ERROR != err) { @@ -99442,6 +104511,21 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 12: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 13: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -99455,7 +104539,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 12; + const uint16_t mTestCount = 17; chip::Optional mNodeId; chip::Optional mCluster; @@ -99573,6 +104657,39 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 3UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 4UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_6() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterWiFiNetworkDiagnostics alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); @@ -99596,7 +104713,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFeatureDependentDGWIFISF00AttributesInAttributeListFromDut_6() + CHIP_ERROR TestStep4bThReadsFeatureDependentDGWIFISF00AttributesInAttributeListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99623,7 +104740,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsFeatureDependentDGWIFISF01AttributesInAttributeListFromDut_7() + CHIP_ERROR TestStep4cThReadsFeatureDependentDGWIFISF01AttributesInAttributeListFromDut_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99647,7 +104764,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeCurrentMaxRateInAttributeListFromDut_8() + CHIP_ERROR TestStep4dThReadsOptionalAttributeCurrentMaxRateInAttributeListFromDut_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99670,7 +104787,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5aThReadsAcceptedCommandListFromDut_9() + CHIP_ERROR TestStep5aThReadsAcceptedCommandListFromDut_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99696,7 +104813,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep5bThReadsFeatureDependentDGWIFISF01CommandInAcceptedCommandListFromDut_10() + CHIP_ERROR TestStep5bThReadsFeatureDependentDGWIFISF01CommandInAcceptedCommandListFromDut_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -99719,7 +104836,7 @@ class Test_TC_DGWIFI_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThReadsGeneratedCommandListFromDut_11() + CHIP_ERROR TestStep6ThReadsGeneratedCommandListFromDut_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -100763,93 +105880,114 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { break; case 8: ChipLogProgress(chipTool, " ***** Test Step 8 : Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList\n"); - if (ShouldSkip("WNCV.S.A001a")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeSafetyStatusInAttributeList_9(); + err = TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_9(); break; case 10: + ChipLogProgress( + chipTool, " ***** Test Step 10 : Step 4b: TH reads optional attribute(SafetyStatus) in AttributeList\n"); + if (ShouldSkip("WNCV.S.A001a")) { + NextTest(); + return; + } + err = TestStep4bThReadsOptionalAttributeSafetyStatusInAttributeList_10(); + break; + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in " + " ***** Test Step 11 : Step 4c: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 & WNCV.S.F03) attribute in " "AttributeList\n"); if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02 && WNCV.S.F03")) { NextTest(); return; } - err = TestStep4cReadTheFeatureDependentWNCVSF00Wncvsf02Wncvsf03AttributeInAttributeList_10(); + err = TestStep4cReadTheFeatureDependentWNCVSF00Wncvsf02Wncvsf03AttributeInAttributeList_11(); break; - case 11: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList\n"); + " ***** Test Step 12 : Step 4d: Read the Feature dependent(WNCV.S.F00 & WNCV.S.F02 ) attribute in AttributeList\n"); if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02")) { NextTest(); return; } - err = TestStep4dReadTheFeatureDependentWNCVSF00Wncvsf02AttributeInAttributeList_11(); + err = TestStep4dReadTheFeatureDependentWNCVSF00Wncvsf02AttributeInAttributeList_12(); break; - case 12: + case 13: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in " + " ***** Test Step 13 : Step 4e: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 & WNCV.S.F03) attribute in " "AttributeList\n"); if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04 && WNCV.S.F03")) { NextTest(); return; } - err = TestStep4eReadTheFeatureDependentWNCVSF01Wncvsf04Wncvsf03AttributeInAttributeList_12(); + err = TestStep4eReadTheFeatureDependentWNCVSF01Wncvsf04Wncvsf03AttributeInAttributeList_13(); break; - case 13: + case 14: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList\n"); + " ***** Test Step 14 : Step 4f: Read the Feature dependent(WNCV.S.F01 & WNCV.S.F04 ) attribute in AttributeList\n"); if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04")) { NextTest(); return; } - err = TestStep4fReadTheFeatureDependentWNCVSF01Wncvsf04AttributeInAttributeList_13(); + err = TestStep4fReadTheFeatureDependentWNCVSF01Wncvsf04AttributeInAttributeList_14(); break; - case 14: + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 5: Read the global attribute: EventList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 16: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute\n"); - err = TestStep6aThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_14(); + chipTool, " ***** Test Step 16 : Step 6a: TH reads from the DUT the (0xFFF9) AcceptedCommandList attribute\n"); + err = TestStep6aThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_16(); break; - case 15: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 15 : Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in " + " ***** Test Step 17 : Step 6b: TH reads Feature dependent(WNCV.S.F00 & WNCV.S.F02) command in " "AcceptedCommandList\n"); if (ShouldSkip("WNCV.S.F00 && WNCV.S.F02")) { NextTest(); return; } - err = TestStep6bThReadsFeatureDependentWNCVSF00Wncvsf02CommandInAcceptedCommandList_15(); + err = TestStep6bThReadsFeatureDependentWNCVSF00Wncvsf02CommandInAcceptedCommandList_17(); break; - case 16: + case 18: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in " + " ***** Test Step 18 : Step 6c: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F03) command in " "AcceptedCommandList\n"); if (ShouldSkip("WNCV.S.F01 && WNCV.S.F03")) { NextTest(); return; } - err = TestStep6cThReadsFeatureDependentWNCVSF01Wncvsf03CommandInAcceptedCommandList_16(); + err = TestStep6cThReadsFeatureDependentWNCVSF01Wncvsf03CommandInAcceptedCommandList_18(); break; - case 17: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 17 : Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in " + " ***** Test Step 19 : Step 6d: TH reads Feature dependent(WNCV.S.F01 & WNCV.S.F04) command in " "AcceptedCommandList\n"); if (ShouldSkip("WNCV.S.F01 && WNCV.S.F04")) { NextTest(); return; } - err = TestStep6dThReadsFeatureDependentWNCVSF01Wncvsf04CommandInAcceptedCommandList_17(); + err = TestStep6dThReadsFeatureDependentWNCVSF01Wncvsf04CommandInAcceptedCommandList_19(); break; - case 18: + case 20: ChipLogProgress( - chipTool, " ***** Test Step 18 : Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute\n"); - err = TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_18(); + chipTool, " ***** Test Step 20 : Step 7: TH reads from the DUT the (0xFFF8) GeneratedCommandList attribute\n"); + err = TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_20(); break; } @@ -100919,6 +106057,12 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { case 18: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 20: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -100932,7 +106076,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 19; + const uint16_t mTestCount = 21; chip::Optional mNodeId; chip::Optional mCluster; @@ -101113,6 +106257,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 23UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -101123,7 +106268,37 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeSafetyStatusInAttributeList_9() + CHIP_ERROR TestStep4aThReadsFromTheDutThe0xFFFBAttributeListAttribute_9() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterWindowCovering alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads from the DUT the (0xFFFB) AttributeList attribute Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 7UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 10UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 13UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 23UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bThReadsOptionalAttributeSafetyStatusInAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101144,7 +106319,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheFeatureDependentWNCVSF00Wncvsf02Wncvsf03AttributeInAttributeList_10() + CHIP_ERROR TestStep4cReadTheFeatureDependentWNCVSF00Wncvsf02Wncvsf03AttributeInAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101167,7 +106342,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheFeatureDependentWNCVSF00Wncvsf02AttributeInAttributeList_11() + CHIP_ERROR TestStep4dReadTheFeatureDependentWNCVSF00Wncvsf02AttributeInAttributeList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101189,7 +106364,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheFeatureDependentWNCVSF01Wncvsf04Wncvsf03AttributeInAttributeList_12() + CHIP_ERROR TestStep4eReadTheFeatureDependentWNCVSF01Wncvsf04Wncvsf03AttributeInAttributeList_13() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101212,7 +106387,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fReadTheFeatureDependentWNCVSF01Wncvsf04AttributeInAttributeList_13() + CHIP_ERROR TestStep4fReadTheFeatureDependentWNCVSF01Wncvsf04AttributeInAttributeList_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101234,7 +106409,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_14() + CHIP_ERROR TestStep6aThReadsFromTheDutThe0xFFF9AcceptedCommandListAttribute_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101257,7 +106432,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsFeatureDependentWNCVSF00Wncvsf02CommandInAcceptedCommandList_15() + CHIP_ERROR TestStep6bThReadsFeatureDependentWNCVSF00Wncvsf02CommandInAcceptedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101278,7 +106453,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cThReadsFeatureDependentWNCVSF01Wncvsf03CommandInAcceptedCommandList_16() + CHIP_ERROR TestStep6cThReadsFeatureDependentWNCVSF01Wncvsf03CommandInAcceptedCommandList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101299,7 +106474,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dThReadsFeatureDependentWNCVSF01Wncvsf04CommandInAcceptedCommandList_17() + CHIP_ERROR TestStep6dThReadsFeatureDependentWNCVSF01Wncvsf04CommandInAcceptedCommandList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -101320,7 +106495,7 @@ class Test_TC_WNCV_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_18() + CHIP_ERROR TestStep7ThReadsFromTheDutThe0xFFF8GeneratedCommandListAttribute_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -149146,47 +154321,59 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_4(); break; case 5: + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListFromDut_5(); + break; + case 6: ChipLogProgress( - chipTool, " ***** Test Step 5 : Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList\n"); + chipTool, " ***** Test Step 6 : Step 4b: TH reads optional attribute(ThreadMetrics) in AttributeList\n"); if (ShouldSkip("DGSW.S.A0000")) { NextTest(); return; } - err = TestStep4bThReadsOptionalAttributeThreadMetricsInAttributeList_5(); + err = TestStep4bThReadsOptionalAttributeThreadMetricsInAttributeList_6(); break; - case 6: + case 7: ChipLogProgress( - chipTool, " ***** Test Step 6 : Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList\n"); + chipTool, " ***** Test Step 7 : Step 4c: TH reads optional attribute(CurrentHeapFree) in AttributeList\n"); if (ShouldSkip("DGSW.S.A0001")) { NextTest(); return; } - err = TestStep4cThReadsOptionalAttributeCurrentHeapFreeInAttributeList_6(); + err = TestStep4cThReadsOptionalAttributeCurrentHeapFreeInAttributeList_7(); break; - case 7: + case 8: ChipLogProgress( - chipTool, " ***** Test Step 7 : Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList\n"); + chipTool, " ***** Test Step 8 : Step 4d: TH reads optional attribute(CurrentHeapUsed) in AttributeList\n"); if (ShouldSkip("DGSW.S.A0002")) { NextTest(); return; } - err = TestStep4dThReadsOptionalAttributeCurrentHeapUsedInAttributeList_7(); + err = TestStep4dThReadsOptionalAttributeCurrentHeapUsedInAttributeList_8(); break; - case 8: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList\n"); + " ***** Test Step 9 : Step 4e: TH reads Feature dependent attribute(CurrentHeapHighWatermark) in AttributeList\n"); if (ShouldSkip("( DGSW.S.F00 || DGSW.S.A0003 )")) { NextTest(); return; } - err = TestStep4eThReadsFeatureDependentAttributeCurrentHeapHighWatermarkInAttributeList_8(); + err = TestStep4eThReadsFeatureDependentAttributeCurrentHeapHighWatermarkInAttributeList_9(); break; - case 9: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 10 : Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -149196,27 +154383,57 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9(); + err = TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10(); break; - case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + case 11: + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 5a: TH reads EventList from DUT\n"); + if (ShouldSkip("DGSW.S.E00 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 12: + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 5b: TH reads EventList from DUT\n"); + if (ShouldSkip(" !DGSW.S.E00 && PICS_EVENT_LIST_ENABLED ")) { + NextTest(); + return; + } + NextTest(); + return; + case 13: + ChipLogProgress(chipTool, + " ***** Test Step 13 : Step 5c: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5cThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + break; + case 14: + ChipLogProgress(chipTool, " ***** Test Step 14 : Step 6a: TH reads AcceptedCommandList from DUT\n"); if (ShouldSkip("DGSW.S.F00")) { NextTest(); return; } - err = TestStep6aThReadsAcceptedCommandListFromDut_10(); + err = TestStep6aThReadsAcceptedCommandListFromDut_14(); break; - case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6b: TH reads AcceptedCommandList from DUT\n"); + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6b: TH reads AcceptedCommandList from DUT\n"); if (ShouldSkip(" !DGSW.S.F00 ")) { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListFromDut_11(); + err = TestStep6bThReadsAcceptedCommandListFromDut_15(); break; - case 12: + case 16: ChipLogProgress(chipTool, - " ***** Test Step 12 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 16 : Step 6c: TH reads AcceptedCommandList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_00FF). 2.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored.3.The list SHALL NOT contain any values in the Test Vendor " @@ -149226,11 +154443,11 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); + err = TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); break; - case 13: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 17 : Step 7: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -149239,7 +154456,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + err = TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); break; } @@ -149294,6 +154511,18 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 16: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -149307,7 +154536,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 14; + const uint16_t mTestCount = 18; chip::Optional mNodeId; chip::Optional mCluster; @@ -149412,6 +154641,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -149422,7 +154652,34 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsOptionalAttributeThreadMetricsInAttributeList_5() + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterSoftwareDiagnostics alloc] initWithDevice:device + endpointID:@(0) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bThReadsOptionalAttributeThreadMetricsInAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -149445,7 +154702,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsOptionalAttributeCurrentHeapFreeInAttributeList_6() + CHIP_ERROR TestStep4cThReadsOptionalAttributeCurrentHeapFreeInAttributeList_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -149468,7 +154725,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsOptionalAttributeCurrentHeapUsedInAttributeList_7() + CHIP_ERROR TestStep4dThReadsOptionalAttributeCurrentHeapUsedInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -149491,7 +154748,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsFeatureDependentAttributeCurrentHeapHighWatermarkInAttributeList_8() + CHIP_ERROR TestStep4eThReadsFeatureDependentAttributeCurrentHeapHighWatermarkInAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -149515,7 +154772,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_9() + TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_10() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -149525,7 +154782,18 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_10() + CHIP_ERROR + TestStep5cThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + { + + chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; + value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); + value.expectedValue.Emplace(); + value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); + return UserPrompt("alpha", value); + } + + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_14() { MTRBaseDevice * device = GetDevice("alpha"); @@ -149548,7 +154816,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_11() + CHIP_ERROR TestStep6bThReadsAcceptedCommandListFromDut_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -149575,7 +154843,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() + TestStep6cThReadsAcceptedCommandListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x000000ff2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -149586,7 +154854,7 @@ class Test_TC_DGSW_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + TestStep7ThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -163417,270 +168685,308 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { break; case 14: ChipLogProgress(chipTool, " ***** Test Step 14 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aThReadsAttributeListFromDut_14(); break; case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 4a: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aThReadsAttributeListFromDut_15(); + break; + case 16: ChipLogProgress( - chipTool, " ***** Test Step 15 : Step 4b: TH reads Feature dependent(DRLK.S.F05) attributes in AttributeList\n"); + chipTool, " ***** Test Step 16 : Step 4b: TH reads Feature dependent(DRLK.S.F05) attributes in AttributeList\n"); if (ShouldSkip("DRLK.S.F05")) { NextTest(); return; } - err = TestStep4bThReadsFeatureDependentDRLKSF05AttributesInAttributeList_15(); + err = TestStep4bThReadsFeatureDependentDRLKSF05AttributesInAttributeList_16(); break; - case 16: + case 17: ChipLogProgress( - chipTool, " ***** Test Step 16 : Step 4c: TH reads Feature dependent(DRLK.S.F08) attributes in AttributeList\n"); + chipTool, " ***** Test Step 17 : Step 4c: TH reads Feature dependent(DRLK.S.F08) attributes in AttributeList\n"); if (ShouldSkip("DRLK.S.F08")) { NextTest(); return; } - err = TestStep4cThReadsFeatureDependentDRLKSF08AttributesInAttributeList_16(); + err = TestStep4cThReadsFeatureDependentDRLKSF08AttributesInAttributeList_17(); break; - case 17: + case 18: ChipLogProgress( - chipTool, " ***** Test Step 17 : Step 4d: TH reads Feature dependent(DRLK.S.F00) attributes in AttributeList\n"); + chipTool, " ***** Test Step 18 : Step 4d: TH reads Feature dependent(DRLK.S.F00) attributes in AttributeList\n"); if (ShouldSkip("DRLK.S.F00")) { NextTest(); return; } - err = TestStep4dThReadsFeatureDependentDRLKSF00AttributesInAttributeList_17(); + err = TestStep4dThReadsFeatureDependentDRLKSF00AttributesInAttributeList_18(); break; - case 18: + case 19: ChipLogProgress( - chipTool, " ***** Test Step 18 : Step 4e: TH reads Feature dependent(DRLK.S.F01) attributes in AttributeList\n"); + chipTool, " ***** Test Step 19 : Step 4e: TH reads Feature dependent(DRLK.S.F01) attributes in AttributeList\n"); if (ShouldSkip("DRLK.S.F01")) { NextTest(); return; } - err = TestStep4eThReadsFeatureDependentDRLKSF01AttributesInAttributeList_18(); + err = TestStep4eThReadsFeatureDependentDRLKSF01AttributesInAttributeList_19(); break; - case 19: + case 20: ChipLogProgress( - chipTool, " ***** Test Step 19 : Step 4f: TH reads Feature dependent(DRLK.S.F04) attribute in AttributeList\n"); + chipTool, " ***** Test Step 20 : Step 4f: TH reads Feature dependent(DRLK.S.F04) attribute in AttributeList\n"); if (ShouldSkip("DRLK.S.F04")) { NextTest(); return; } - err = TestStep4fThReadsFeatureDependentDRLKSF04AttributeInAttributeList_19(); + err = TestStep4fThReadsFeatureDependentDRLKSF04AttributeInAttributeList_20(); break; - case 20: + case 21: ChipLogProgress( - chipTool, " ***** Test Step 20 : Step 4g: TH reads Feature dependent(DRLK.S.F0a) attribute in AttributeList\n"); + chipTool, " ***** Test Step 21 : Step 4g: TH reads Feature dependent(DRLK.S.F0a) attribute in AttributeList\n"); if (ShouldSkip("DRLK.S.F0a")) { NextTest(); return; } - err = TestStep4gThReadsFeatureDependentDRLKSF0aAttributeInAttributeList_20(); + err = TestStep4gThReadsFeatureDependentDRLKSF0aAttributeInAttributeList_21(); break; - case 21: + case 22: ChipLogProgress( - chipTool, " ***** Test Step 21 : Step 4h: TH reads Feature dependent(DRLK.S.F0b) attribute in AttributeList\n"); + chipTool, " ***** Test Step 22 : Step 4h: TH reads Feature dependent(DRLK.S.F0b) attribute in AttributeList\n"); if (ShouldSkip("DRLK.S.F0b")) { NextTest(); return; } - err = TestStep4hThReadsFeatureDependentDRLKSF0bAttributeInAttributeList_21(); + err = TestStep4hThReadsFeatureDependentDRLKSF0bAttributeInAttributeList_22(); break; - case 22: + case 23: ChipLogProgress(chipTool, - " ***** Test Step 22 : Step 4i: TH reads Feature dependent(DRLK.S.F00 or DRLK.S.F01) attributes in " + " ***** Test Step 23 : Step 4i: TH reads Feature dependent(DRLK.S.F00 or DRLK.S.F01) attributes in " "AttributeList\n"); if (ShouldSkip("DRLK.S.F00 || DRLK.S.F01")) { NextTest(); return; } - err = TestStep4iThReadsFeatureDependentDRLKSF00OrDrlksf01AttributesInAttributeList_22(); + err = TestStep4iThReadsFeatureDependentDRLKSF00OrDrlksf01AttributesInAttributeList_23(); break; - case 23: + case 24: ChipLogProgress(chipTool, - " ***** Test Step 23 : Step 4j: TH reads Feature dependent(DRLK.S.F07 or DRLK.S.F00) attribute in AttributeList\n"); + " ***** Test Step 24 : Step 4j: TH reads Feature dependent(DRLK.S.F07 or DRLK.S.F00) attribute in AttributeList\n"); if (ShouldSkip("DRLK.S.F07 || DRLK.S.F00")) { NextTest(); return; } - err = TestStep4jThReadsFeatureDependentDRLKSF07OrDrlksf00AttributeInAttributeList_23(); + err = TestStep4jThReadsFeatureDependentDRLKSF07OrDrlksf00AttributeInAttributeList_24(); break; - case 24: - ChipLogProgress(chipTool, " ***** Test Step 24 : Step 4k: TH reads optional attribute(Language) in AttributeList\n"); + case 25: + ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4k: TH reads optional attribute(Language) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0021")) { NextTest(); return; } - err = TestStep4kThReadsOptionalAttributeLanguageInAttributeList_24(); + err = TestStep4kThReadsOptionalAttributeLanguageInAttributeList_25(); break; - case 25: - ChipLogProgress(chipTool, " ***** Test Step 25 : Step 4l: TH reads optional attribute(LEDSettings) in AttributeList\n"); + case 26: + ChipLogProgress(chipTool, " ***** Test Step 26 : Step 4l: TH reads optional attribute(LEDSettings) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0022")) { NextTest(); return; } - err = TestStep4lThReadsOptionalAttributeLEDSettingsInAttributeList_25(); + err = TestStep4lThReadsOptionalAttributeLEDSettingsInAttributeList_26(); break; - case 26: + case 27: ChipLogProgress( - chipTool, " ***** Test Step 26 : Step 4m: TH reads optional attribute(AutoRelockTime) in AttributeList\n"); + chipTool, " ***** Test Step 27 : Step 4m: TH reads optional attribute(AutoRelockTime) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0023")) { NextTest(); return; } - err = TestStep4mThReadsOptionalAttributeAutoRelockTimeInAttributeList_26(); + err = TestStep4mThReadsOptionalAttributeAutoRelockTimeInAttributeList_27(); break; - case 27: - ChipLogProgress(chipTool, " ***** Test Step 27 : Step 4n: TH reads optional attribute(SoundVolume) in AttributeList\n"); + case 28: + ChipLogProgress(chipTool, " ***** Test Step 28 : Step 4n: TH reads optional attribute(SoundVolume) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0024")) { NextTest(); return; } - err = TestStep4nThReadsOptionalAttributeSoundVolumeInAttributeList_27(); + err = TestStep4nThReadsOptionalAttributeSoundVolumeInAttributeList_28(); break; - case 28: + case 29: ChipLogProgress(chipTool, - " ***** Test Step 28 : Step 4o: TH reads optional attribute(DefaultConfigurationRegister) in AttributeList\n"); + " ***** Test Step 29 : Step 4o: TH reads optional attribute(DefaultConfigurationRegister) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0027")) { NextTest(); return; } - err = TestStep4oThReadsOptionalAttributeDefaultConfigurationRegisterInAttributeList_28(); + err = TestStep4oThReadsOptionalAttributeDefaultConfigurationRegisterInAttributeList_29(); break; - case 29: + case 30: ChipLogProgress( - chipTool, " ***** Test Step 29 : Step 4p: TH reads optional attribute(EnableLocalProgramming) in AttributeList\n"); + chipTool, " ***** Test Step 30 : Step 4p: TH reads optional attribute(EnableLocalProgramming) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0028")) { NextTest(); return; } - err = TestStep4pThReadsOptionalAttributeEnableLocalProgrammingInAttributeList_29(); + err = TestStep4pThReadsOptionalAttributeEnableLocalProgrammingInAttributeList_30(); break; - case 30: + case 31: ChipLogProgress( - chipTool, " ***** Test Step 30 : Step 4q: TH reads optional attribute(EnableOneTouchLocking) in AttributeList\n"); + chipTool, " ***** Test Step 31 : Step 4q: TH reads optional attribute(EnableOneTouchLocking) in AttributeList\n"); if (ShouldSkip("DRLK.S.A0029")) { NextTest(); return; } - err = TestStep4qThReadsOptionalAttributeEnableOneTouchLockingInAttributeList_30(); + err = TestStep4qThReadsOptionalAttributeEnableOneTouchLockingInAttributeList_31(); break; - case 31: + case 32: ChipLogProgress( - chipTool, " ***** Test Step 31 : Step 4r: TH reads optional attribute(EnableInsideStatusLED) in AttributeList\n"); + chipTool, " ***** Test Step 32 : Step 4r: TH reads optional attribute(EnableInsideStatusLED) in AttributeList\n"); if (ShouldSkip("DRLK.S.A002a")) { NextTest(); return; } - err = TestStep4rThReadsOptionalAttributeEnableInsideStatusLEDInAttributeList_31(); + err = TestStep4rThReadsOptionalAttributeEnableInsideStatusLEDInAttributeList_32(); break; - case 32: + case 33: ChipLogProgress( - chipTool, " ***** Test Step 32 : Step 4s: TH reads optional attribute(EnablePrivacyModeButton) in AttributeList\n"); + chipTool, " ***** Test Step 33 : Step 4s: TH reads optional attribute(EnablePrivacyModeButton) in AttributeList\n"); if (ShouldSkip("DRLK.S.A002b")) { NextTest(); return; } - err = TestStep4sThReadsOptionalAttributeEnablePrivacyModeButtonInAttributeList_32(); + err = TestStep4sThReadsOptionalAttributeEnablePrivacyModeButtonInAttributeList_33(); break; - case 33: + case 34: ChipLogProgress(chipTool, - " ***** Test Step 33 : Step 4t: TH reads optional attribute(LocalProgrammingFeatures) in AttributeList\n"); + " ***** Test Step 34 : Step 4t: TH reads optional attribute(LocalProgrammingFeatures) in AttributeList\n"); if (ShouldSkip("DRLK.S.A002c")) { NextTest(); return; } - err = TestStep4tThReadsOptionalAttributeLocalProgrammingFeaturesInAttributeList_33(); - break; - case 34: - ChipLogProgress(chipTool, " ***** Test Step 34 : Step 6a: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6aThReadsAcceptedCommandListFromDut_34(); + err = TestStep4tThReadsOptionalAttributeLocalProgrammingFeaturesInAttributeList_34(); break; case 35: + ChipLogProgress(chipTool, " ***** Test Step 35 : Step 5a: TH reads EventList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 36: + ChipLogProgress( + chipTool, " ***** Test Step 36 : Step 5b: TH reads optional event(Door position sensor) in EventList\n"); + if (ShouldSkip("DRLK.S.F05 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 37: + ChipLogProgress( + chipTool, " ***** Test Step 37 : Step 5c: TH reads optional event(User commands and database) in EventList\n"); + if (ShouldSkip("DRLK.S.F08 && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 38: + ChipLogProgress(chipTool, " ***** Test Step 38 : Step 6a: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6aThReadsAcceptedCommandListFromDut_38(); + break; + case 39: ChipLogProgress(chipTool, - " ***** Test Step 35 : Step 6b: TH reads Feature dependent commands(DRLK.S.F04) in AcceptedCommandList\n"); + " ***** Test Step 39 : Step 6b: TH reads Feature dependent commands(DRLK.S.F04) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F04")) { NextTest(); return; } - err = TestStep6bThReadsFeatureDependentCommandsDRLKSF04InAcceptedCommandList_35(); + err = TestStep6bThReadsFeatureDependentCommandsDRLKSF04InAcceptedCommandList_39(); break; - case 36: + case 40: ChipLogProgress(chipTool, - " ***** Test Step 36 : Step 6c: TH reads Feature dependent commands(DRLK.S.F0a) in AcceptedCommandList\n"); + " ***** Test Step 40 : Step 6c: TH reads Feature dependent commands(DRLK.S.F0a) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F0a")) { NextTest(); return; } - err = TestStep6cThReadsFeatureDependentCommandsDRLKSF0aInAcceptedCommandList_36(); + err = TestStep6cThReadsFeatureDependentCommandsDRLKSF0aInAcceptedCommandList_40(); break; - case 37: + case 41: ChipLogProgress(chipTool, - " ***** Test Step 37 : Step 6d: TH reads Feature dependent commands(DRLK.S.F0b) in AcceptedCommandList\n"); + " ***** Test Step 41 : Step 6d: TH reads Feature dependent commands(DRLK.S.F0b) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F0b")) { NextTest(); return; } - err = TestStep6dThReadsFeatureDependentCommandsDRLKSF0bInAcceptedCommandList_37(); + err = TestStep6dThReadsFeatureDependentCommandsDRLKSF0bInAcceptedCommandList_41(); break; - case 38: + case 42: ChipLogProgress(chipTool, - " ***** Test Step 38 : Step 6e: TH reads Feature dependent commands(DRLK.S.F0c) in AcceptedCommandList\n"); + " ***** Test Step 42 : Step 6e: TH reads Feature dependent commands(DRLK.S.F0c) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F0c")) { NextTest(); return; } - err = TestStep6eThReadsFeatureDependentCommandsDRLKSF0cInAcceptedCommandList_38(); + err = TestStep6eThReadsFeatureDependentCommandsDRLKSF0cInAcceptedCommandList_42(); break; - case 39: + case 43: ChipLogProgress(chipTool, - " ***** Test Step 39 : Step 6f: TH reads Feature dependent commands(DRLK.S.F08) in AcceptedCommandList\n"); + " ***** Test Step 43 : Step 6f: TH reads Feature dependent commands(DRLK.S.F08) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.F08")) { NextTest(); return; } - err = TestStep6fThReadsFeatureDependentCommandsDRLKSF08InAcceptedCommandList_39(); + err = TestStep6fThReadsFeatureDependentCommandsDRLKSF08InAcceptedCommandList_43(); break; - case 40: + case 44: ChipLogProgress( - chipTool, " ***** Test Step 40 : Step 6g: TH reads optional commands(DRLK.S.C03.Rsp) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 44 : Step 6g: TH reads optional commands(DRLK.S.C03.Rsp) in AcceptedCommandList\n"); if (ShouldSkip("DRLK.S.C03.Rsp")) { NextTest(); return; } - err = TestStep6gThReadsOptionalCommandsDRLKSC03RspInAcceptedCommandList_40(); + err = TestStep6gThReadsOptionalCommandsDRLKSC03RspInAcceptedCommandList_44(); break; - case 41: + case 45: ChipLogProgress(chipTool, - " ***** Test Step 41 : Step 7a: TH reads Feature dependent command(DRLK.S.F04) in GeneratedCommandList\n"); + " ***** Test Step 45 : Step 7a: TH reads Feature dependent command(DRLK.S.F04) in GeneratedCommandList\n"); if (ShouldSkip("DRLK.S.F04")) { NextTest(); return; } - err = TestStep7aThReadsFeatureDependentCommandDRLKSF04InGeneratedCommandList_41(); + err = TestStep7aThReadsFeatureDependentCommandDRLKSF04InGeneratedCommandList_45(); break; - case 42: + case 46: ChipLogProgress(chipTool, - " ***** Test Step 42 : Step 7b: TH reads Feature dependent command(DRLK.S.F0a) in GeneratedCommandList\n"); + " ***** Test Step 46 : Step 7b: TH reads Feature dependent command(DRLK.S.F0a) in GeneratedCommandList\n"); if (ShouldSkip("DRLK.S.F0a")) { NextTest(); return; } - err = TestStep7bThReadsFeatureDependentCommandDRLKSF0aInGeneratedCommandList_42(); + err = TestStep7bThReadsFeatureDependentCommandDRLKSF0aInGeneratedCommandList_46(); break; - case 43: + case 47: ChipLogProgress(chipTool, - " ***** Test Step 43 : Step 7c: TH reads Feature dependent command(DRLK.S.F0b) in GeneratedCommandList\n"); + " ***** Test Step 47 : Step 7c: TH reads Feature dependent command(DRLK.S.F0b) in GeneratedCommandList\n"); if (ShouldSkip("DRLK.S.F0b")) { NextTest(); return; } - err = TestStep7cThReadsFeatureDependentCommandDRLKSF0bInGeneratedCommandList_43(); + err = TestStep7cThReadsFeatureDependentCommandDRLKSF0bInGeneratedCommandList_47(); break; - case 44: + case 48: ChipLogProgress(chipTool, - " ***** Test Step 44 : Step 7d: TH reads Feature dependent command(DRLK.S.F08) in GeneratedCommandList\n"); + " ***** Test Step 48 : Step 7d: TH reads Feature dependent command(DRLK.S.F08) in GeneratedCommandList\n"); if (ShouldSkip("DRLK.S.F08")) { NextTest(); return; } - err = TestStep7dThReadsFeatureDependentCommandDRLKSF08InGeneratedCommandList_44(); + err = TestStep7dThReadsFeatureDependentCommandDRLKSF08InGeneratedCommandList_48(); break; } @@ -163828,6 +169134,18 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { case 44: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 45: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 46: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 47: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 48: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -163841,7 +169159,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 45; + const uint16_t mTestCount = 49; chip::Optional mNodeId; chip::Optional mCluster; @@ -164133,6 +169451,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 38UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -164143,7 +169462,37 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bThReadsFeatureDependentDRLKSF05AttributesInAttributeList_15() + CHIP_ERROR TestStep4aThReadsAttributeListFromDut_15() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterDoorLock alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 1UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 37UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 38UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bThReadsFeatureDependentDRLKSF05AttributesInAttributeList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164164,7 +169513,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cThReadsFeatureDependentDRLKSF08AttributesInAttributeList_16() + CHIP_ERROR TestStep4cThReadsFeatureDependentDRLKSF08AttributesInAttributeList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164187,7 +169536,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dThReadsFeatureDependentDRLKSF00AttributesInAttributeList_17() + CHIP_ERROR TestStep4dThReadsFeatureDependentDRLKSF00AttributesInAttributeList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164210,7 +169559,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eThReadsFeatureDependentDRLKSF01AttributesInAttributeList_18() + CHIP_ERROR TestStep4eThReadsFeatureDependentDRLKSF01AttributesInAttributeList_19() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164233,7 +169582,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4fThReadsFeatureDependentDRLKSF04AttributeInAttributeList_19() + CHIP_ERROR TestStep4fThReadsFeatureDependentDRLKSF04AttributeInAttributeList_20() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164254,7 +169603,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4gThReadsFeatureDependentDRLKSF0aAttributeInAttributeList_20() + CHIP_ERROR TestStep4gThReadsFeatureDependentDRLKSF0aAttributeInAttributeList_21() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164275,7 +169624,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4hThReadsFeatureDependentDRLKSF0bAttributeInAttributeList_21() + CHIP_ERROR TestStep4hThReadsFeatureDependentDRLKSF0bAttributeInAttributeList_22() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164296,7 +169645,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4iThReadsFeatureDependentDRLKSF00OrDrlksf01AttributesInAttributeList_22() + CHIP_ERROR TestStep4iThReadsFeatureDependentDRLKSF00OrDrlksf01AttributesInAttributeList_23() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164318,7 +169667,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4jThReadsFeatureDependentDRLKSF07OrDrlksf00AttributeInAttributeList_23() + CHIP_ERROR TestStep4jThReadsFeatureDependentDRLKSF07OrDrlksf00AttributeInAttributeList_24() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164339,7 +169688,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4kThReadsOptionalAttributeLanguageInAttributeList_24() + CHIP_ERROR TestStep4kThReadsOptionalAttributeLanguageInAttributeList_25() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164360,7 +169709,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4lThReadsOptionalAttributeLEDSettingsInAttributeList_25() + CHIP_ERROR TestStep4lThReadsOptionalAttributeLEDSettingsInAttributeList_26() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164381,7 +169730,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4mThReadsOptionalAttributeAutoRelockTimeInAttributeList_26() + CHIP_ERROR TestStep4mThReadsOptionalAttributeAutoRelockTimeInAttributeList_27() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164402,7 +169751,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4nThReadsOptionalAttributeSoundVolumeInAttributeList_27() + CHIP_ERROR TestStep4nThReadsOptionalAttributeSoundVolumeInAttributeList_28() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164423,7 +169772,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4oThReadsOptionalAttributeDefaultConfigurationRegisterInAttributeList_28() + CHIP_ERROR TestStep4oThReadsOptionalAttributeDefaultConfigurationRegisterInAttributeList_29() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164444,7 +169793,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4pThReadsOptionalAttributeEnableLocalProgrammingInAttributeList_29() + CHIP_ERROR TestStep4pThReadsOptionalAttributeEnableLocalProgrammingInAttributeList_30() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164465,7 +169814,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4qThReadsOptionalAttributeEnableOneTouchLockingInAttributeList_30() + CHIP_ERROR TestStep4qThReadsOptionalAttributeEnableOneTouchLockingInAttributeList_31() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164486,7 +169835,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4rThReadsOptionalAttributeEnableInsideStatusLEDInAttributeList_31() + CHIP_ERROR TestStep4rThReadsOptionalAttributeEnableInsideStatusLEDInAttributeList_32() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164507,7 +169856,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4sThReadsOptionalAttributeEnablePrivacyModeButtonInAttributeList_32() + CHIP_ERROR TestStep4sThReadsOptionalAttributeEnablePrivacyModeButtonInAttributeList_33() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164528,7 +169877,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4tThReadsOptionalAttributeLocalProgrammingFeaturesInAttributeList_33() + CHIP_ERROR TestStep4tThReadsOptionalAttributeLocalProgrammingFeaturesInAttributeList_34() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164549,7 +169898,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_34() + CHIP_ERROR TestStep6aThReadsAcceptedCommandListFromDut_38() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164571,7 +169920,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bThReadsFeatureDependentCommandsDRLKSF04InAcceptedCommandList_35() + CHIP_ERROR TestStep6bThReadsFeatureDependentCommandsDRLKSF04InAcceptedCommandList_39() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164594,7 +169943,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cThReadsFeatureDependentCommandsDRLKSF0aInAcceptedCommandList_36() + CHIP_ERROR TestStep6cThReadsFeatureDependentCommandsDRLKSF0aInAcceptedCommandList_40() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164617,7 +169966,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dThReadsFeatureDependentCommandsDRLKSF0bInAcceptedCommandList_37() + CHIP_ERROR TestStep6dThReadsFeatureDependentCommandsDRLKSF0bInAcceptedCommandList_41() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164640,7 +169989,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6eThReadsFeatureDependentCommandsDRLKSF0cInAcceptedCommandList_38() + CHIP_ERROR TestStep6eThReadsFeatureDependentCommandsDRLKSF0cInAcceptedCommandList_42() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164661,7 +170010,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6fThReadsFeatureDependentCommandsDRLKSF08InAcceptedCommandList_39() + CHIP_ERROR TestStep6fThReadsFeatureDependentCommandsDRLKSF08InAcceptedCommandList_43() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164687,7 +170036,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6gThReadsOptionalCommandsDRLKSC03RspInAcceptedCommandList_40() + CHIP_ERROR TestStep6gThReadsOptionalCommandsDRLKSC03RspInAcceptedCommandList_44() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164708,7 +170057,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7aThReadsFeatureDependentCommandDRLKSF04InGeneratedCommandList_41() + CHIP_ERROR TestStep7aThReadsFeatureDependentCommandDRLKSF04InGeneratedCommandList_45() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164729,7 +170078,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7bThReadsFeatureDependentCommandDRLKSF0aInGeneratedCommandList_42() + CHIP_ERROR TestStep7bThReadsFeatureDependentCommandDRLKSF0aInGeneratedCommandList_46() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164750,7 +170099,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7cThReadsFeatureDependentCommandDRLKSF0bInGeneratedCommandList_43() + CHIP_ERROR TestStep7cThReadsFeatureDependentCommandDRLKSF0bInGeneratedCommandList_47() { MTRBaseDevice * device = GetDevice("alpha"); @@ -164771,7 +170120,7 @@ class Test_TC_DRLK_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7dThReadsFeatureDependentCommandDRLKSF08InGeneratedCommandList_44() + CHIP_ERROR TestStep7dThReadsFeatureDependentCommandDRLKSF08InGeneratedCommandList_48() { MTRBaseDevice * device = GetDevice("alpha"); @@ -170728,15 +176077,35 @@ class Test_TC_G_1_1 : public TestCommandBridge { break; case 4: ChipLogProgress(chipTool, " ***** Test Step 4 : Step 4: TH reads AttributeList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4ThReadsAttributeListFromDut_4(); break; case 5: - ChipLogProgress(chipTool, " ***** Test Step 5 : Step 6: TH reads AcceptedCommandList from DUT\n"); - err = TestStep6ThReadsAcceptedCommandListFromDut_5(); + ChipLogProgress(chipTool, " ***** Test Step 5 : Step 4: TH reads AttributeList from DUT\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ThReadsAttributeListFromDut_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 7: TH reads GeneratedCommandList from DUT\n"); - err = TestStep7ThReadsGeneratedCommandListFromDut_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 5: TH reads EventList from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 6: TH reads AcceptedCommandList from DUT\n"); + err = TestStep6ThReadsAcceptedCommandListFromDut_7(); + break; + case 8: + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 7: TH reads GeneratedCommandList from DUT\n"); + err = TestStep7ThReadsGeneratedCommandListFromDut_8(); break; } @@ -170770,6 +176139,12 @@ class Test_TC_G_1_1 : public TestCommandBridge { case 6: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 7: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 8: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -170783,7 +176158,7 @@ class Test_TC_G_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 7; + const uint16_t mTestCount = 9; chip::Optional mNodeId; chip::Optional mCluster; @@ -170872,6 +176247,33 @@ class Test_TC_G_1_1 : public TestCommandBridge { __auto_type * cluster = [[MTRBaseClusterGroups alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: TH reads AttributeList from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 0UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4ThReadsAttributeListFromDut_5() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterGroups alloc] initWithDevice:device endpointID:@(1) queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4: TH reads AttributeList from DUT Error: %@", err); @@ -170891,7 +176293,7 @@ class Test_TC_G_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_5() + CHIP_ERROR TestStep6ThReadsAcceptedCommandListFromDut_7() { MTRBaseDevice * device = GetDevice("alpha"); @@ -170917,7 +176319,7 @@ class Test_TC_G_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_6() + CHIP_ERROR TestStep7ThReadsGeneratedCommandListFromDut_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171315,48 +176717,60 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { break; case 6: ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } err = TestStep4aReadTheGlobalAttributeAttributeList_6(); break; case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4a: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4aReadTheGlobalAttributeAttributeList_7(); + break; + case 8: ChipLogProgress( - chipTool, " ***** Test Step 7 : Step 4b: Read the feature dependent(ACFREMON.S.F00) attribute in AttributeList\n"); + chipTool, " ***** Test Step 8 : Step 4b: Read the feature dependent(ACFREMON.S.F00) attribute in AttributeList\n"); if (ShouldSkip("ACFREMON.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentACFREMONSF00AttributeInAttributeList_7(); + err = TestStep4bReadTheFeatureDependentACFREMONSF00AttributeInAttributeList_8(); break; - case 8: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4c: Read the optional attribute InPlaceIndicator (ACFREMON.S.A0003) in AttributeList\n"); + " ***** Test Step 9 : Step 4c: Read the optional attribute InPlaceIndicator (ACFREMON.S.A0003) in AttributeList\n"); if (ShouldSkip("ACFREMON.S.A0003")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeInPlaceIndicatorAcfremonsa0003InAttributeList_8(); + err = TestStep4cReadTheOptionalAttributeInPlaceIndicatorAcfremonsa0003InAttributeList_9(); break; - case 9: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4d: Read the optional attribute LastChangedTime (ACFREMON.S.A0004) in AttributeList\n"); + " ***** Test Step 10 : Step 4d: Read the optional attribute LastChangedTime (ACFREMON.S.A0004) in AttributeList\n"); if (ShouldSkip("ACFREMON.S.A0004")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeLastChangedTimeAcfremonsa0004InAttributeList_9(); + err = TestStep4dReadTheOptionalAttributeLastChangedTimeAcfremonsa0004InAttributeList_10(); break; - case 10: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4e: Read the optional attribute ReplacementProductList (ACFREMON.S.F02) in " + " ***** Test Step 11 : Step 4e: Read the optional attribute ReplacementProductList (ACFREMON.S.F02) in " "AttributeList\n"); if (ShouldSkip("ACFREMON.S.F02")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeReplacementProductListAcfremonsf02InAttributeList_10(); + err = TestStep4eReadTheOptionalAttributeReplacementProductListAcfremonsf02InAttributeList_11(); break; - case 11: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " + " ***** Test Step 12 : Step 4f: TH reads AttributeList attribute from DUT. 1.The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list SHALL NOT " @@ -171366,28 +176780,50 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); + err = TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5a: TH reads EventList attribute from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 14: + ChipLogProgress(chipTool, + " ***** Test Step 14 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); + break; + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6a: Read the global attribute: AcceptedCommandList\n"); if (ShouldSkip("!ACFREMON.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_12(); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_15(); break; - case 13: + case 16: ChipLogProgress( - chipTool, " ***** Test Step 13 : Step 6a: Read the optional command (ResetCondition) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 16 : Step 6a: Read the optional command (ResetCondition) in AcceptedCommandList\n"); if (ShouldSkip("ACFREMON.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6aReadTheOptionalCommandResetConditionInAcceptedCommandList_13(); + err = TestStep6aReadTheOptionalCommandResetConditionInAcceptedCommandList_16(); break; - case 14: + case 17: ChipLogProgress(chipTool, - " ***** Test Step 14 : Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT " + " ***** Test Step 17 : Step 6b: TH reads from the DUT the AcceptedCommandList attribute. 1.The list SHALL NOT " "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " @@ -171398,15 +176834,15 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); + err = TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_15(); + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_18(); break; - case 16: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " + " ***** Test Step 19 : Step 7b: TH reads from the DUT the GeneratedCommandList attribute. 1.The list SHALL NOT " "contain any additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - " "0x0000_FFFE). 2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - " "0xXXXX_4FFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.The list " @@ -171417,7 +176853,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + err = TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); break; } @@ -171481,6 +176917,15 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -171494,7 +176939,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 17; + const uint16_t mTestCount = 20; chip::Optional mNodeId; chip::Optional mCluster; @@ -171634,6 +177079,35 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { queue:mCallbackQueue]; VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_7() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterActivatedCarbonFilterMonitoring alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); @@ -171653,7 +177127,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentACFREMONSF00AttributeInAttributeList_7() + CHIP_ERROR TestStep4bReadTheFeatureDependentACFREMONSF00AttributeInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171678,7 +177152,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeInPlaceIndicatorAcfremonsa0003InAttributeList_8() + CHIP_ERROR TestStep4cReadTheOptionalAttributeInPlaceIndicatorAcfremonsa0003InAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171701,7 +177175,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeLastChangedTimeAcfremonsa0004InAttributeList_9() + CHIP_ERROR TestStep4dReadTheOptionalAttributeLastChangedTimeAcfremonsa0004InAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171724,7 +177198,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeReplacementProductListAcfremonsf02InAttributeList_10() + CHIP_ERROR TestStep4eReadTheOptionalAttributeReplacementProductListAcfremonsf02InAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171748,7 +177222,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + TestStep4fThReadsAttributeListAttributeFromDut1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -171758,7 +177232,18 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_12() + CHIP_ERROR + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171784,7 +177269,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6aReadTheOptionalCommandResetConditionInAcceptedCommandList_13() + CHIP_ERROR TestStep6aReadTheOptionalCommandResetConditionInAcceptedCommandList_16() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171808,7 +177293,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() + TestStep6bThReadsFromTheDutTheAcceptedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_17() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -171818,7 +177303,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_15() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -171845,7 +177330,7 @@ class Test_TC_ACFREMON_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + TestStep7bThReadsFromTheDutTheGeneratedCommandListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -172229,51 +177714,63 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { err = TestStep3dGivenHEPAFREMONSF02ReplacementProductListEnsureFeaturemapHasTheCorrectBitSet_5(); break; case 6: - ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4a: Read the global attribute: AttributeList\n"); - err = TestStep4aReadTheGlobalAttributeAttributeList_6(); + ChipLogProgress(chipTool, " ***** Test Step 6 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ReadTheGlobalAttributeAttributeList_6(); break; case 7: + ChipLogProgress(chipTool, " ***** Test Step 7 : Step 4: Read the global attribute: AttributeList\n"); + if (ShouldSkip("!PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep4ReadTheGlobalAttributeAttributeList_7(); + break; + case 8: ChipLogProgress(chipTool, - " ***** Test Step 7 : Step 4b: Read the feature dependent(HEPAFREMON.S.F00) attribute in AttributeList\n"); + " ***** Test Step 8 : Step 4b: Read the feature dependent(HEPAFREMON.S.F00) attribute in AttributeList\n"); if (ShouldSkip("HEPAFREMON.S.F00")) { NextTest(); return; } - err = TestStep4bReadTheFeatureDependentHEPAFREMONSF00AttributeInAttributeList_7(); + err = TestStep4bReadTheFeatureDependentHEPAFREMONSF00AttributeInAttributeList_8(); break; - case 8: + case 9: ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 4c: Read the optional attribute InPlaceIndicator (HEPAFREMON.S.A0003) in " + " ***** Test Step 9 : Step 4c: Read the optional attribute InPlaceIndicator (HEPAFREMON.S.A0003) in " "AttributeList\n"); if (ShouldSkip("HEPAFREMON.S.A0003")) { NextTest(); return; } - err = TestStep4cReadTheOptionalAttributeInPlaceIndicatorHepafremonsa0003InAttributeList_8(); + err = TestStep4cReadTheOptionalAttributeInPlaceIndicatorHepafremonsa0003InAttributeList_9(); break; - case 9: + case 10: ChipLogProgress(chipTool, - " ***** Test Step 9 : Step 4d: Read the optional attribute LastChangedTime (HEPAFREMON.S.A0004) in " + " ***** Test Step 10 : Step 4d: Read the optional attribute LastChangedTime (HEPAFREMON.S.A0004) in " "AttributeList\n"); if (ShouldSkip("HEPAFREMON.S.A0004")) { NextTest(); return; } - err = TestStep4dReadTheOptionalAttributeLastChangedTimeHepafremonsa0004InAttributeList_9(); + err = TestStep4dReadTheOptionalAttributeLastChangedTimeHepafremonsa0004InAttributeList_10(); break; - case 10: + case 11: ChipLogProgress(chipTool, - " ***** Test Step 10 : Step 4e: Read the optional attribute ReplacementProductList (HEPAFREMON.S.F02) in " + " ***** Test Step 11 : Step 4e: Read the optional attribute ReplacementProductList (HEPAFREMON.S.F02) in " "AttributeList\n"); if (ShouldSkip("HEPAFREMON.S.F02")) { NextTest(); return; } - err = TestStep4eReadTheOptionalAttributeReplacementProductListHepafremonsf02InAttributeList_10(); + err = TestStep4eReadTheOptionalAttributeReplacementProductListHepafremonsf02InAttributeList_11(); break; - case 11: + case 12: ChipLogProgress(chipTool, - " ***** Test Step 11 : Step 4f: TH reads from the DUT the AttributeList attribute. The list SHALL NOT contain any " + " ***** Test Step 12 : Step 4f: TH reads from the DUT the AttributeList attribute. The list SHALL NOT contain any " "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE). " "2.The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3.TThe list SHALL NOT " @@ -172283,15 +177780,37 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep4fThReadsFromTheDutTheAttributeListAttributeTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11(); - break; - case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6a: Read the global attribute: AcceptedCommandList\n"); - err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_12(); + err = TestStep4fThReadsFromTheDutTheAttributeListAttributeTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12(); break; case 13: + ChipLogProgress(chipTool, " ***** Test Step 13 : Step 5a: TH reads EventList attribute from DUT\n"); + if (ShouldSkip("PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + NextTest(); + return; + case 14: + ChipLogProgress(chipTool, + " ***** Test Step 14 : Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " + "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " + "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " + "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " + "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " + "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); + if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + NextTest(); + return; + } + err = TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14(); + break; + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Step 6a: Read the global attribute: AcceptedCommandList\n"); + err = TestStep6aReadTheGlobalAttributeAcceptedCommandList_15(); + break; + case 16: ChipLogProgress(chipTool, - " ***** Test Step 13 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 16 : Step 6b: TH reads AcceptedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -172300,24 +177819,24 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13(); + err = TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); break; - case 14: + case 17: ChipLogProgress( - chipTool, " ***** Test Step 14 : Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList\n"); + chipTool, " ***** Test Step 17 : Step 6b: Read the optional command (ResetCondition) in AcceptedCommandList\n"); if (ShouldSkip("HEPAFREMON.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_14(); + err = TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_17(); break; - case 15: - ChipLogProgress(chipTool, " ***** Test Step 15 : Step 7a: Read the global attribute: GeneratedCommandList\n"); - err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_15(); + case 18: + ChipLogProgress(chipTool, " ***** Test Step 18 : Step 7a: Read the global attribute: GeneratedCommandList\n"); + err = TestStep7aReadTheGlobalAttributeGeneratedCommandList_18(); break; - case 16: + case 19: ChipLogProgress(chipTool, - " ***** Test Step 16 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " + " ***** Test Step 19 : Step 7b: TH reads GeneratedCommandList attribute from DUT. 1.The list MAY contain values in " "the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_00FF), where XXXX is the allowed MEI " "range (0x0001 - 0xFFF1), these values SHALL be ignored. 2.The list SHALL NOT contain any values in the Test " "Vendor or invalid range: (0x0000_0100 - 0x0000_FFFF), (0xXXXX_0100 - 0xXXXX_FFFF) and (0xFFF1_0000 - " @@ -172326,7 +177845,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { NextTest(); return; } - err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16(); + err = TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19(); break; } @@ -172390,6 +177909,15 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; + case 17: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 18: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 19: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; } // Go on to the next test. @@ -172403,7 +177931,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 17; + const uint16_t mTestCount = 20; chip::Optional mNodeId; chip::Optional mCluster; @@ -172534,7 +178062,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4aReadTheGlobalAttributeAttributeList_6() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_6() { MTRBaseDevice * device = GetDevice("alpha"); @@ -172544,7 +178072,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { - NSLog(@"Step 4a: Read the global attribute: AttributeList Error: %@", err); + NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); @@ -172552,6 +178080,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65530UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); @@ -172562,7 +178091,35 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4bReadTheFeatureDependentHEPAFREMONSF00AttributeInAttributeList_7() + CHIP_ERROR TestStep4ReadTheGlobalAttributeAttributeList_7() + { + + MTRBaseDevice * device = GetDevice("alpha"); + __auto_type * cluster = [[MTRBaseClusterHEPAFilterMonitoring alloc] initWithDevice:device + endpointID:@(1) + queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeAttributeListWithCompletion:^(NSArray * _Nullable value, NSError * _Nullable err) { + NSLog(@"Step 4: Read the global attribute: AttributeList Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintType("attributeList", "list", "list")); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 2UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65528UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65529UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65531UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65532UL)); + VerifyOrReturn(CheckConstraintContains("attributeList", value, 65533UL)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestStep4bReadTheFeatureDependentHEPAFREMONSF00AttributeInAttributeList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -172587,7 +178144,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4cReadTheOptionalAttributeInPlaceIndicatorHepafremonsa0003InAttributeList_8() + CHIP_ERROR TestStep4cReadTheOptionalAttributeInPlaceIndicatorHepafremonsa0003InAttributeList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -172610,7 +178167,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4dReadTheOptionalAttributeLastChangedTimeHepafremonsa0004InAttributeList_9() + CHIP_ERROR TestStep4dReadTheOptionalAttributeLastChangedTimeHepafremonsa0004InAttributeList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -172633,7 +178190,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep4eReadTheOptionalAttributeReplacementProductListHepafremonsf02InAttributeList_10() + CHIP_ERROR TestStep4eReadTheOptionalAttributeReplacementProductListHepafremonsf02InAttributeList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -172658,7 +178215,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep4fThReadsFromTheDutTheAttributeListAttributeTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_11() + TestStep4fThReadsFromTheDutTheAttributeListAttributeTheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TTheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_12() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -172668,7 +178225,18 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6aReadTheGlobalAttributeAcceptedCommandList_12() + CHIP_ERROR + TestStep5bThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_14() + { + + 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 TestStep6aReadTheGlobalAttributeAcceptedCommandList_15() { MTRBaseDevice * device = GetDevice("alpha"); @@ -172690,7 +178258,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_13() + TestStep6bThReadsAcceptedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; @@ -172700,7 +178268,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_14() + CHIP_ERROR TestStep6bReadTheOptionalCommandResetConditionInAcceptedCommandList_17() { MTRBaseDevice * device = GetDevice("alpha"); @@ -172723,7 +178291,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_15() + CHIP_ERROR TestStep7aReadTheGlobalAttributeGeneratedCommandList_18() { MTRBaseDevice * device = GetDevice("alpha"); @@ -172750,7 +178318,7 @@ class Test_TC_HEPAFREMON_1_1 : public TestCommandBridge { } CHIP_ERROR - TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_16() + TestStep7bThReadsGeneratedCommandListAttributeFromDut1TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX00ffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored2TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000001000x0000Ffff0xXXXX01000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_19() { chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; From 12316bff7095dcb81d0581b544e1d7b1404c92ea Mon Sep 17 00:00:00 2001 From: "Restyled.io" Date: Tue, 15 Aug 2023 18:18:10 +0000 Subject: [PATCH 7/8] Restyled by whitespace --- src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml | 2 +- src/app/tests/suites/certification/Test_TC_OO_1_1.yaml | 2 +- src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml | 2 +- src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml | 2 +- src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml b/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml index 1f40e0cdb01e16..20924a25cae7b0 100755 --- a/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_ICDM_1_1.yaml @@ -176,7 +176,7 @@ tests: verification: | ./chip-tool icdmanagement read event-list 1 0 - On TH(chip-tool), Verify that the DUT response provides a list of supported events. + On TH(chip-tool), Verify that the DUT response provides a list of supported events. For this cluster the list is usually empty but it can contain manufacturer specific event IDs. diff --git a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml index 3978eeb80ee4f6..e766d8164ac965 100644 --- a/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OO_1_1.yaml @@ -157,7 +157,7 @@ tests: 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: - [1676352490.164738][6271:6273] CHIP:DMG: SuppressResponse = true, + [1676352490.164738][6271:6273] CHIP:DMG: SuppressResponse = true, [1676352490.164742][6271:6273] CHIP:DMG: InteractionModelRevision = 1 [1676352490.164745][6271:6273] CHIP:DMG: } [1676352490.164804][6271:6273] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_FFFA DataVersion: 2406349519 diff --git a/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml b/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml index a2c7bfb0dbb87f..6249d6090fe34c 100644 --- a/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_OPSTATE_1_1.yaml @@ -155,7 +155,7 @@ tests: verification: | ./chip-tool operationalstate read event-list 1 1 - Verify " EventList attribute " value consists the list of mandatory event (0) and it may include the optional events (1) on the TH(Chip-tool) Log: + Verify " EventList attribute " value consists the list of mandatory event (0) and it may include the optional events (1) on the TH(Chip-tool) Log: Below is the sample log provided for the raspi platform: diff --git a/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml b/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml index fcf5943f1f5538..931c82a4b28349 100644 --- a/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_PCC_1_1.yaml @@ -608,7 +608,7 @@ tests: 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)" verification: | - ./chip-tool pumpconfigurationandcontrol read event-list 1 1 + ./chip-tool pumpconfigurationandcontrol read event-list 1 1 On TH(chip-tool) Verify that the DUT response contains the EventList attribute and have the list of supported events: The list MAY include these optional entries: diff --git a/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml index 7ef88673b129ff..a059ab92fa9dc9 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml @@ -111,7 +111,7 @@ tests: verification: | ./chip-tool rvcoperationalstate read event-list 1 1 - Verify " EventList attribute " value consists the list of mandatory event (0) and it may include the optional events (1) on the TH(Chip-tool) Log: + Verify " EventList attribute " value consists the list of mandatory event (0) and it may include the optional events (1) on the TH(Chip-tool) Log: Below is the sample log provided for the raspi platform: [1690201497.386141][14975:14977] CHIP:DMG: InteractionModelRevision = 1 [1690201497.386195][14975:14977] CHIP:DMG: } From 93dd92cdb0ae78d926ce481547720c4497dbb26e Mon Sep 17 00:00:00 2001 From: manjunath-grl Date: Wed, 16 Aug 2023 17:01:14 +0530 Subject: [PATCH 8/8] Modified tests TC-RVCOPSTATE-1.1 TC-S-1.1 TC-SC-3.6 Auto generated files --- .../certification/Test_TC_RVCOPSTATE_1_1.yaml | 37 --- .../suites/certification/Test_TC_SC_3_6.yaml | 310 ------------------ .../suites/certification/Test_TC_S_1_1.yaml | 30 +- .../chip-tool/zap-generated/test/Commands.h | 122 +++---- .../zap-generated/test/Commands.h | 74 ++--- 5 files changed, 65 insertions(+), 508 deletions(-) delete mode 100644 src/app/tests/suites/certification/Test_TC_SC_3_6.yaml diff --git a/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml b/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml index a059ab92fa9dc9..2dd8e49519a21a 100644 --- a/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_RVCOPSTATE_1_1.yaml @@ -97,43 +97,6 @@ tests: type: list contains: [0x01] - - label: - "Step 5c: TH reads from the DUT the EventList attribute. 1.The list - SHALL NOT contain any additional values in the standard or scoped - range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. - The list MAY contain values in the Manufacturer Extensible Identifier - (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed - MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The - list SHALL NOT contain any values in the Test Vendor or invalid range: - (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the - allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool rvcoperationalstate read event-list 1 1 - - Verify " EventList attribute " value consists the list of mandatory event (0) and it may include the optional events (1) on the TH(Chip-tool) Log: - Below is the sample log provided for the raspi platform: - [1690201497.386141][14975:14977] CHIP:DMG: InteractionModelRevision = 1 - [1690201497.386195][14975:14977] CHIP:DMG: } - [1690201497.386630][14975:14977] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0061 Attribute 0x0000_FFFA DataVersion: 3675566847 - [1690201497.386776][14975:14977] CHIP:TOO: EventList: 2 entries - [1690201497.386846][14975:14977] CHIP:TOO: [1]: 0 - [1690201497.386907][14975:14977] CHIP:TOO: [2]: 1 - [1690201497.387222][14975:14977] CHIP:EM: <<< [E:56916i S:1295 M:30022149 (Ack:183426353)] (S) Msg TX to 1:0000000000000001 [9278] --- Type 0000:10 (SecureChannel:StandaloneAck) - [1690201497.387319][14975:14977] CHIP:IN: (S) Sending msg 30022149 on secure session with LSID: 1295 - [1690201497.387559][14975:14977] CHIP:EM: Flushed pending ack for MessageCounter:183426353 on exchange 56916i - [1690201497.387972][14975:14975] CHIP:CTL: Shutting down the commissioner - [1690201497.388046][14975:14975] CHIP:CTL: Stopping commissioning discovery over DNS-SD - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - label: "Step 6a: Read the optional command(Pause) in AcceptedCommandList" PICS: RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp command: "readAttribute" diff --git a/src/app/tests/suites/certification/Test_TC_SC_3_6.yaml b/src/app/tests/suites/certification/Test_TC_SC_3_6.yaml deleted file mode 100644 index 0a01a9cbb52d08..00000000000000 --- a/src/app/tests/suites/certification/Test_TC_SC_3_6.yaml +++ /dev/null @@ -1,310 +0,0 @@ -# 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: 22.3.6. [TC-SC-3.6] CASE Resource validation - -config: - nodeId: 0x12344321 - cluster: "Basic Information" - endpoint: 0 - -tests: - - label: - "Step 1: RD1X, RD2X, RD3X, RD4X, RD5X each send 1 Subscribe Request - Messages to DUT.(Total - 15 active subscriptions) They can subscribe - to any attribute. Once all subscriptions are active, change the value - of the attribute that has been subscribed to" - verification: | - Send 1 Subscriptionrequest message from each Reference Device(Eg. RD1...) to DUT and verify all the subscription requests are succes, and change the value of all the attributes by sending write command, after sending write commanfd verify on each of these Reference Devices that the appropriate attribute value has been received. Example commands given below are using 4 reference device (User can use 15 reference device and send the below command in from each reference device) - - - on the first reference device enter: - - onoff subscribe on-time 10 100 1 1 - [1657715218.149357][5956:5961] CHIP:DMG: ReportDataMessage = - [1657715218.149399][5956:5961] CHIP:DMG: { - [1657715218.149432][5956:5961] CHIP:DMG: SubscriptionId = 0xea8e5b3b, - [1657715218.149465][5956:5961] CHIP:DMG: AttributeReportIBs = - [1657715218.149504][5956:5961] CHIP:DMG: [ - [1657715218.149535][5956:5961] CHIP:DMG: AttributeReportIB = - [1657715218.149581][5956:5961] CHIP:DMG: { - [1657715218.149619][5956:5961] CHIP:DMG: AttributeDataIB = - [1657715218.149663][5956:5961] CHIP:DMG: { - [1657715218.149711][5956:5961] CHIP:DMG: DataVersion = 0x734a2d83, - [1657715218.149755][5956:5961] CHIP:DMG: AttributePathIB = - [1657715218.149802][5956:5961] CHIP:DMG: { - [1657715218.149849][5956:5961] CHIP:DMG: Endpoint = 0x1, - [1657715218.149895][5956:5961] CHIP:DMG: Cluster = 0x6, - [1657715218.149942][5956:5961] CHIP:DMG: Attribute = 0x0000_4001, - [1657715218.149983][5956:5961] CHIP:DMG: } - [1657715218.150027][5956:5961] CHIP:DMG: - [1657715218.150075][5956:5961] CHIP:DMG: Data = 0, - [1657715218.150118][5956:5961] CHIP:DMG: }, - [1657715218.150165][5956:5961] CHIP:DMG: - [1657715218.150201][5956:5961] CHIP:DMG: }, - [1657715218.150245][5956:5961] CHIP:DMG: - [1657715218.150275][5956:5961] CHIP:DMG: ], - [1657715218.150313][5956:5961] CHIP:DMG: - [1657715218.150343][5956:5961] CHIP:DMG: InteractionModelRevision = 1 - [1657715218.150372][5956:5961] CHIP:DMG: } - [1657715218.150529][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241155 - [1657715218.150599][5956:5961] CHIP:TOO: OnTime: 0 - [1657715218.150646][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008e40]: Moving to - - - On the 2nd reference device - - levelcontrol subscribe on-level 100 1000 1 1 - [1657715273.668717][5956:5961] CHIP:DMG: ReportDataMessage = - [1657715273.668784][5956:5961] CHIP:DMG: { - [1657715273.668846][5956:5961] CHIP:DMG: SubscriptionId = 0xb6497be6, - [1657715273.668908][5956:5961] CHIP:DMG: AttributeReportIBs = - [1657715273.668984][5956:5961] CHIP:DMG: [ - [1657715273.669046][5956:5961] CHIP:DMG: AttributeReportIB = - [1657715273.669126][5956:5961] CHIP:DMG: { - [1657715273.669190][5956:5961] CHIP:DMG: AttributeDataIB = - [1657715273.669261][5956:5961] CHIP:DMG: { - [1657715273.669378][5956:5961] CHIP:DMG: DataVersion = 0x319eeda7, - [1657715273.669460][5956:5961] CHIP:DMG: AttributePathIB = - [1657715273.669540][5956:5961] CHIP:DMG: { - [1657715273.669620][5956:5961] CHIP:DMG: Endpoint = 0x1, - [1657715273.669706][5956:5961] CHIP:DMG: Cluster = 0x8, - [1657715273.669792][5956:5961] CHIP:DMG: Attribute = 0x0000_0011, - [1657715273.669875][5956:5961] CHIP:DMG: } - [1657715273.669961][5956:5961] CHIP:DMG: - [1657715273.670043][5956:5961] CHIP:DMG: Data = NULL - [1657715273.670119][5956:5961] CHIP:DMG: }, - [1657715273.670199][5956:5961] CHIP:DMG: - [1657715273.670267][5956:5961] CHIP:DMG: }, - [1657715273.670341][5956:5961] CHIP:DMG: - [1657715273.670400][5956:5961] CHIP:DMG: ], - [1657715273.670474][5956:5961] CHIP:DMG: - [1657715273.670533][5956:5961] CHIP:DMG: InteractionModelRevision = 1 - [1657715273.670591][5956:5961] CHIP:DMG: } - [1657715273.670803][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499111 - [1657715273.670879][5956:5961] CHIP:TOO: on level: null - [1657715273.670967][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008f30]: Moving to [AwaitingSu] - - on 3rd reference device - - onoff subscribe start-up-on-off 100 1000 1 1 - [1657715343.924200][5956:5961] CHIP:DMG: ReportDataMessage = - [1657715343.924269][5956:5961] CHIP:DMG: { - [1657715343.924330][5956:5961] CHIP:DMG: SubscriptionId = 0x9fce63ae, - [1657715343.924392][5956:5961] CHIP:DMG: AttributeReportIBs = - [1657715343.924470][5956:5961] CHIP:DMG: [ - [1657715343.924532][5956:5961] CHIP:DMG: AttributeReportIB = - [1657715343.924612][5956:5961] CHIP:DMG: { - [1657715343.924678][5956:5961] CHIP:DMG: AttributeDataIB = - [1657715343.924750][5956:5961] CHIP:DMG: { - [1657715343.924833][5956:5961] CHIP:DMG: DataVersion = 0x734a2d84, - [1657715343.924909][5956:5961] CHIP:DMG: AttributePathIB = - [1657715343.924992][5956:5961] CHIP:DMG: { - [1657715343.925074][5956:5961] CHIP:DMG: Endpoint = 0x1, - [1657715343.925159][5956:5961] CHIP:DMG: Cluster = 0x6, - [1657715343.925245][5956:5961] CHIP:DMG: Attribute = 0x0000_4003, - [1657715343.925382][5956:5961] CHIP:DMG: } - [1657715343.925470][5956:5961] CHIP:DMG: - [1657715343.925561][5956:5961] CHIP:DMG: Data = NULL - [1657715343.925631][5956:5961] CHIP:DMG: }, - [1657715343.925713][5956:5961] CHIP:DMG: - [1657715343.925776][5956:5961] CHIP:DMG: }, - [1657715343.925851][5956:5961] CHIP:DMG: - [1657715343.925910][5956:5961] CHIP:DMG: ], - [1657715343.925985][5956:5961] CHIP:DMG: - [1657715343.926046][5956:5961] CHIP:DMG: InteractionModelRevision = 1 - [1657715343.926104][5956:5961] CHIP:DMG: } - [1657715343.926315][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241156 - [1657715343.926395][5956:5961] CHIP:TOO: StartUpOnOff: null - [1657715343.926485][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008c80]: Moving to [AwaitingSu] - - on the 4th reference device - - basic subscribe node-label 10 100 1 0 - [1657715505.138806][5956:5961] CHIP:DMG: ReportDataMessage = - [1657715505.138881][5956:5961] CHIP:DMG: { - [1657715505.138943][5956:5961] CHIP:DMG: SubscriptionId = 0xd002abb6, - [1657715505.139045][5956:5961] CHIP:DMG: AttributeReportIBs = - [1657715505.139128][5956:5961] CHIP:DMG: [ - [1657715505.139190][5956:5961] CHIP:DMG: AttributeReportIB = - [1657715505.139498][5956:5961] CHIP:DMG: { - [1657715505.139600][5956:5961] CHIP:DMG: AttributeDataIB = - [1657715505.139713][5956:5961] CHIP:DMG: { - [1657715505.139824][5956:5961] CHIP:DMG: DataVersion = 0x1b93dc30, - [1657715505.139932][5956:5961] CHIP:DMG: AttributePathIB = - [1657715505.140020][5956:5961] CHIP:DMG: { - [1657715505.140112][5956:5961] CHIP:DMG: Endpoint = 0x0, - [1657715505.140202][5956:5961] CHIP:DMG: Cluster = 0x28, - [1657715505.140289][5956:5961] CHIP:DMG: Attribute = 0x0000_0005, - [1657715505.140370][5956:5961] CHIP:DMG: } - [1657715505.140560][5956:5961] CHIP:DMG: - [1657715505.140657][5956:5961] CHIP:DMG: Data = "", - [1657715505.140741][5956:5961] CHIP:DMG: }, - [1657715505.140825][5956:5961] CHIP:DMG: - [1657715505.140893][5956:5961] CHIP:DMG: }, - [1657715505.140972][5956:5961] CHIP:DMG: - [1657715505.141031][5956:5961] CHIP:DMG: ], - [1657715505.141105][5956:5961] CHIP:DMG: - [1657715505.141165][5956:5961] CHIP:DMG: InteractionModelRevision = 1 - [1657715505.141223][5956:5961] CHIP:DMG: } - [1657715505.141471][5956:5961] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674992 - [1657715505.141554][5956:5961] CHIP:TOO: NodeLabel: - [1657715505.141643][5956:5961] CHIP:DMG: MoveToState ReadClient[0xffff94008c80]: Moving to [AwaitingSu] - - - - on the first reference device enter below mentioned commands to change the attribute values - - onoff write on-time 1 1 1 - [1657715232.758666][5956:5961] CHIP:DMG: ReportDataMessage = - [1657715232.758698][5956:5961] CHIP:DMG: { - [1657715232.758724][5956:5961] CHIP:DMG: SubscriptionId = 0xea8e5b3b, - [1657715232.758753][5956:5961] CHIP:DMG: AttributeReportIBs = - [1657715232.758782][5956:5961] CHIP:DMG: [ - [1657715232.758803][5956:5961] CHIP:DMG: AttributeReportIB = - [1657715232.758832][5956:5961] CHIP:DMG: { - [1657715232.758854][5956:5961] CHIP:DMG: AttributeDataIB = - [1657715232.758880][5956:5961] CHIP:DMG: { - [1657715232.758911][5956:5961] CHIP:DMG: DataVersion = 0x734a2d84, - [1657715232.758936][5956:5961] CHIP:DMG: AttributePathIB = - [1657715232.758962][5956:5961] CHIP:DMG: { - [1657715232.758989][5956:5961] CHIP:DMG: Endpoint = 0x1, - [1657715232.759030][5956:5961] CHIP:DMG: Cluster = 0x6, - [1657715232.759071][5956:5961] CHIP:DMG: Attribute = 0x0000_4001, - [1657715232.759104][5956:5961] CHIP:DMG: } - [1657715232.759140][5956:5961] CHIP:DMG: - [1657715232.759174][5956:5961] CHIP:DMG: Data = 1, - [1657715232.759203][5956:5961] CHIP:DMG: }, - [1657715232.759235][5956:5961] CHIP:DMG: - [1657715232.759261][5956:5961] CHIP:DMG: }, - [1657715232.759292][5956:5961] CHIP:DMG: - [1657715232.759317][5956:5961] CHIP:DMG: ], - [1657715232.759348][5956:5961] CHIP:DMG: - [1657715232.759373][5956:5961] CHIP:DMG: InteractionModelRevision = 1 - [1657715232.759398][5956:5961] CHIP:DMG: } - [1657715232.759493][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4001 DataVersion: 1934241156 - [1657715232.759530][5956:5961] CHIP:TOO: OnTime: 1 - [1657715232.759576][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xea8e5b3b - - - - on the 2nd reference device enter below mentioned commands to change the attribute values - - levelcontrol write on-level 1 1 1 - [1657715287.200431][5956:5961] CHIP:DMG: ReportDataMessage = - [1657715287.200491][5956:5961] CHIP:DMG: { - [1657715287.200557][5956:5961] CHIP:DMG: SubscriptionId = 0xb6497be6, - [1657715287.200622][5956:5961] CHIP:DMG: AttributeReportIBs = - [1657715287.200701][5956:5961] CHIP:DMG: [ - [1657715287.200765][5956:5961] CHIP:DMG: AttributeReportIB = - [1657715287.200848][5956:5961] CHIP:DMG: { - [1657715287.200921][5956:5961] CHIP:DMG: AttributeDataIB = - [1657715287.201012][5956:5961] CHIP:DMG: { - [1657715287.201094][5956:5961] CHIP:DMG: DataVersion = 0x319eeda8, - [1657715287.201180][5956:5961] CHIP:DMG: AttributePathIB = - [1657715287.201263][5956:5961] CHIP:DMG: { - [1657715287.201403][5956:5961] CHIP:DMG: Endpoint = 0x1, - [1657715287.201501][5956:5961] CHIP:DMG: Cluster = 0x8, - [1657715287.201596][5956:5961] CHIP:DMG: Attribute = 0x0000_0011, - [1657715287.201686][5956:5961] CHIP:DMG: } - [1657715287.201889][5956:5961] CHIP:DMG: - [1657715287.201987][5956:5961] CHIP:DMG: Data = 1, - [1657715287.202074][5956:5961] CHIP:DMG: }, - [1657715287.202157][5956:5961] CHIP:DMG: - [1657715287.202221][5956:5961] CHIP:DMG: }, - [1657715287.202296][5956:5961] CHIP:DMG: - [1657715287.202354][5956:5961] CHIP:DMG: ], - [1657715287.202429][5956:5961] CHIP:DMG: - [1657715287.202488][5956:5961] CHIP:DMG: InteractionModelRevision = 1 - [1657715287.202546][5956:5961] CHIP:DMG: } - [1657715287.202754][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0008 Attribute 0x0000_0011 DataVersion: 832499112 - [1657715287.202838][5956:5961] CHIP:TOO: on level: 1 - [1657715287.202937][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xb6497be6 Peer = 01:0000000000000001 - - - - - on the 3rd reference device enter below mentioned commands to change the attribute values - - onoff write start-up-on-off 1 1 1 - [1657715357.628508][5956:5961] CHIP:DMG: ReportDataMessage = - [1657715357.628536][5956:5961] CHIP:DMG: { - [1657715357.628561][5956:5961] CHIP:DMG: SubscriptionId = 0x9fce63ae, - [1657715357.628586][5956:5961] CHIP:DMG: AttributeReportIBs = - [1657715357.628618][5956:5961] CHIP:DMG: [ - [1657715357.628643][5956:5961] CHIP:DMG: AttributeReportIB = - [1657715357.628676][5956:5961] CHIP:DMG: { - [1657715357.628702][5956:5961] CHIP:DMG: AttributeDataIB = - [1657715357.628735][5956:5961] CHIP:DMG: { - [1657715357.628763][5956:5961] CHIP:DMG: DataVersion = 0x734a2d85, - [1657715357.628791][5956:5961] CHIP:DMG: AttributePathIB = - [1657715357.628822][5956:5961] CHIP:DMG: { - [1657715357.628853][5956:5961] CHIP:DMG: Endpoint = 0x1, - [1657715357.628882][5956:5961] CHIP:DMG: Cluster = 0x6, - [1657715357.628914][5956:5961] CHIP:DMG: Attribute = 0x0000_4003, - [1657715357.628944][5956:5961] CHIP:DMG: } - [1657715357.628977][5956:5961] CHIP:DMG: - [1657715357.629009][5956:5961] CHIP:DMG: Data = 1, - [1657715357.629037][5956:5961] CHIP:DMG: }, - [1657715357.629068][5956:5961] CHIP:DMG: - [1657715357.629093][5956:5961] CHIP:DMG: }, - [1657715357.629123][5956:5961] CHIP:DMG: - [1657715357.629147][5956:5961] CHIP:DMG: ], - [1657715357.629177][5956:5961] CHIP:DMG: - [1657715357.629201][5956:5961] CHIP:DMG: InteractionModelRevision = 1 - [1657715357.629225][5956:5961] CHIP:DMG: } - [1657715357.629340][5956:5961] CHIP:TOO: Endpoint: 1 Cluster: 0x0000_0006 Attribute 0x0000_4003 DataVersion: 1934241157 - [1657715357.629432][5956:5961] CHIP:TOO: StartUpOnOff: 1 - [1657715357.629480][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0x9fce63ae Peer = 01:0000000000000001 - - - - - - - on the 4th reference device enter below mentioned commands to change the attribute values - - - basic write node-label 1 1 0 - [1657715530.832949][5956:5961] CHIP:DMG: ReportDataMessage = - [1657715530.832977][5956:5961] CHIP:DMG: { - [1657715530.833000][5956:5961] CHIP:DMG: SubscriptionId = 0xfd355fe5, - [1657715530.833024][5956:5961] CHIP:DMG: AttributeReportIBs = - [1657715530.833063][5956:5961] CHIP:DMG: [ - [1657715530.833091][5956:5961] CHIP:DMG: AttributeReportIB = - [1657715530.833133][5956:5961] CHIP:DMG: { - [1657715530.833165][5956:5961] CHIP:DMG: AttributeDataIB = - [1657715530.833205][5956:5961] CHIP:DMG: { - [1657715530.833243][5956:5961] CHIP:DMG: DataVersion = 0x1b93dc31, - [1657715530.833279][5956:5961] CHIP:DMG: AttributePathIB = - [1657715530.833342][5956:5961] CHIP:DMG: { - [1657715530.833382][5956:5961] CHIP:DMG: Endpoint = 0x0, - [1657715530.833422][5956:5961] CHIP:DMG: Cluster = 0x28, - [1657715530.833466][5956:5961] CHIP:DMG: Attribute = 0x0000_0005, - [1657715530.833505][5956:5961] CHIP:DMG: } - [1657715530.833546][5956:5961] CHIP:DMG: - [1657715530.833587][5956:5961] CHIP:DMG: Data = "1", - [1657715530.833623][5956:5961] CHIP:DMG: }, - [1657715530.833662][5956:5961] CHIP:DMG: - [1657715530.833693][5956:5961] CHIP:DMG: }, - [1657715530.833730][5956:5961] CHIP:DMG: - [1657715530.833760][5956:5961] CHIP:DMG: ], - [1657715530.833794][5956:5961] CHIP:DMG: - [1657715530.833822][5956:5961] CHIP:DMG: InteractionModelRevision = 1 - [1657715530.833851][5956:5961] CHIP:DMG: } - [1657715530.833959][5956:5961] CHIP:TOO: Endpoint: 0 Cluster: 0x0000_0028 Attribute 0x0000_0005 DataVersion: 462674993 - [1657715530.833999][5956:5961] CHIP:TOO: NodeLabel: 1 - [1657715530.834171][5956:5961] CHIP:DMG: Refresh LivenessCheckTime for 125000 milliseconds with SubscriptionId = 0xfd355fe5 Peer = 01:0000000000000001 - disabled: true diff --git a/src/app/tests/suites/certification/Test_TC_S_1_1.yaml b/src/app/tests/suites/certification/Test_TC_S_1_1.yaml index bd0ae223813eb3..93be11fdee2487 100644 --- a/src/app/tests/suites/certification/Test_TC_S_1_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_S_1_1.yaml @@ -135,7 +135,7 @@ tests: type: list contains: [0, 1, 2, 3, 4, 6, 7, 65528, 65529, 65531, 65532, 65533] - - label: "Step 5a: Read EventList (global attribute 65530)" + - label: "Step 5: Read EventList (global attribute 65530)" PICS: PICS_EVENT_LIST_ENABLED command: "readAttribute" attribute: "EventList" @@ -144,34 +144,6 @@ tests: type: list contains: [] - - label: - "Step 5b: TH reads from the DUT the EventList attribute. 1.The list - SHALL NOT contain any additional values in the standard or scoped - range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. - The list MAY contain values in the Manufacturer Extensible Identifier - (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX is the allowed - MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The - list SHALL NOT contain any values in the Test Vendor or invalid range: - (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - - 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the - allowed MEI range (0x0001 - 0xFFF1)" - verification: | - ./chip-tool scenes read event-list 1 1 - - Verify the "EventList" value on the TH (Chip-tool) and below is the sample log provided for the raspi platform: - - [1685124260776] [40519:400294] [TOO] Endpoint: 1 Cluster: 0x0000_0005 Attribute 0x0000_FFFA DataVersion: 2585861686 - [1685124260776] [40519:400294] [TOO] EventList: 0 entries - cluster: "LogCommands" - command: "UserPrompt" - PICS: PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED - arguments: - values: - - name: "message" - value: "Please enter 'y' for success" - - name: "expectedValue" - value: "y" - - label: "Step 6a: Read AcceptedCommandList (global attribute 65529)" PICS: S.S.C40.Rsp command: "readAttribute" diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index 006eb5fee51aa4..e1ce796eb9fa5e 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -67389,7 +67389,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand { public: Test_TC_RVCOPSTATE_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : - TestCommand("Test_TC_RVCOPSTATE_1_1", 15, credsIssuerConfig) + TestCommand("Test_TC_RVCOPSTATE_1_1", 14, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -67509,10 +67509,6 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand } break; case 8: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67522,7 +67518,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 10: + case 9: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67532,7 +67528,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67541,7 +67537,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 2UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67551,7 +67547,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 3UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67563,7 +67559,7 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintType("value", "list", "list")); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -67635,55 +67631,39 @@ class Test_TC_RVCOPSTATE_1_1Suite : public TestCommand RvcOperationalState::Attributes::EventList::Id, true, chip::NullOptional); } case 8: { - LogStep(8, - "Step 5c: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " - "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " - "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " - "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " - "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " - "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 9: { - LogStep(9, "Step 6a: Read the optional command(Pause) in AcceptedCommandList"); + LogStep(8, "Step 6a: Read the optional command(Pause) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 10: { - LogStep(10, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); + case 9: { + LogStep(9, "Step 6b: Read the optional command(Stop) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 6c: Read the optional command(Start) in AcceptedCommandList"); + case 10: { + LogStep(10, "Step 6c: Read the optional command(Start) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C02.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); + case 11: { + LogStep(11, "Step 6d: Read the optional command(Resume) in AcceptedCommandList"); VerifyOrDo(!ShouldSkip("RVCOPSTATE.S.C03.Rsp || RVCOPSTATE.S.C00.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 7: Read the global attribute: GeneratedCommandList"); + case 12: { + LogStep(12, "Step 7: Read the global attribute: GeneratedCommandList"); VerifyOrDo( !ShouldSkip(" !RVCOPSTATE.S.C00.Rsp && !RVCOPSTATE.S.C01.Rsp && !RVCOPSTATE.S.C02.Rsp && !RVCOPSTATE.S.C03.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), RvcOperationalState::Id, RvcOperationalState::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 7: Read the global attribute: GeneratedCommandList"); + case 13: { + LogStep(13, "Step 7: Read the global attribute: GeneratedCommandList"); VerifyOrDo( !ShouldSkip(" RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp || RVCOPSTATE.S.C03.Rsp "), return ContinueOnChipMainThread(CHIP_NO_ERROR)); @@ -142143,7 +142123,7 @@ class Test_TC_BIND_2_3Suite : public TestCommand class Test_TC_S_1_1Suite : public TestCommand { public: - Test_TC_S_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_1_1", 18, credsIssuerConfig) + Test_TC_S_1_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_S_1_1", 17, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -142300,10 +142280,6 @@ class Test_TC_S_1_1Suite : public TestCommand } break; case 9: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - shouldContinue = true; - break; - case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -142321,7 +142297,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 11: + case 10: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -142336,7 +142312,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 12: + case 11: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -142354,7 +142330,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 42UL)); } break; - case 13: + case 12: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -142369,7 +142345,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 14: + case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -142384,7 +142360,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 6UL)); } break; - case 15: + case 14: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -142393,7 +142369,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 40UL)); } break; - case 16: + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -142402,7 +142378,7 @@ class Test_TC_S_1_1Suite : public TestCommand VerifyOrReturn(CheckConstraintContains("value", value, 41UL)); } break; - case 17: + case 16: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); { chip::app::DataModel::DecodableList value; @@ -142475,72 +142451,56 @@ class Test_TC_S_1_1Suite : public TestCommand chip::NullOptional); } case 8: { - LogStep(8, "Step 5a: Read EventList (global attribute 65530)"); + LogStep(8, "Step 5: Read EventList (global attribute 65530)"); VerifyOrDo(!ShouldSkip("PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::EventList::Id, true, chip::NullOptional); } case 9: { - LogStep(9, - "Step 5b: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any additional values in " - "the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. The list MAY " - "contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), where XXXX " - "is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT contain any " - "values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 - " - "0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)"); - VerifyOrDo(!ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); - ListFreer listFreer; - chip::app::Clusters::LogCommands::Commands::UserPrompt::Type value; - value.message = chip::Span("Please enter 'y' for successgarbage: not in length on purpose", 28); - value.expectedValue.Emplace(); - value.expectedValue.Value() = chip::Span("ygarbage: not in length on purpose", 1); - return UserPrompt(kIdentityAlpha, value); - } - case 10: { - LogStep(10, "Step 6a: Read AcceptedCommandList (global attribute 65529)"); + LogStep(9, "Step 6a: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("S.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 11: { - LogStep(11, "Step 6b: Read AcceptedCommandList (global attribute 65529)"); + case 10: { + LogStep(10, "Step 6b: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("(!S.S.C40.Rsp)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 12: { - LogStep(12, "Step 6c: Read AcceptedCommandList (global attribute 65529)"); + case 11: { + LogStep(11, "Step 6c: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("S.C.C40.Tx"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 13: { - LogStep(13, "Step 6d: Read AcceptedCommandList (global attribute 65529)"); + case 12: { + LogStep(12, "Step 6d: Read AcceptedCommandList (global attribute 65529)"); VerifyOrDo(!ShouldSkip("(!S.C.C40.Tx)"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::AcceptedCommandList::Id, true, chip::NullOptional); } - case 14: { - LogStep(14, "Step 7a: Read GeneratedCommandList (global attribute 65528)"); + case 13: { + LogStep(13, "Step 7a: Read GeneratedCommandList (global attribute 65528)"); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 15: { - LogStep(15, + case 14: { + LogStep(14, "Step 7b: Read optional command(EnhancedAddSceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C40.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 16: { - LogStep(16, + case 15: { + LogStep(15, "Step 7c: Read optional command(EnhancedViewSceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C41.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); } - case 17: { - LogStep(17, "Step 7d: Read optional command(CopySceneResponse) in GeneratedCommandList (global attribute 65528)"); + case 16: { + LogStep(16, "Step 7d: Read optional command(CopySceneResponse) in GeneratedCommandList (global attribute 65528)"); VerifyOrDo(!ShouldSkip("S.S.C42.Rsp"), return ContinueOnChipMainThread(CHIP_NO_ERROR)); return ReadAttribute(kIdentityAlpha, GetEndpoint(1), Scenes::Id, Scenes::Attributes::GeneratedCommandList::Id, true, chip::NullOptional); 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 9950ac95f572e3..90a4a92e4a73ae 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -95948,66 +95948,52 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { NextTest(); return; case 8: - ChipLogProgress(chipTool, - " ***** Test Step 8 : Step 5c: TH reads from the DUT the EventList attribute. 1.The list SHALL NOT contain any " - "additional values in the standard or scoped range: (0x0000_0000 - 0x0000_4FFF) and (0x0000_F000 - 0x0000_FFFE) 2. " - "The list MAY contain values in the Manufacturer Extensible Identifier (MEI) range: (0xXXXX_0000 - 0xXXXX_4FFF), " - "where XXXX is the allowed MEI range (0x0001 - 0xFFF1), these values SHALL be ignored. 3. The list SHALL NOT " - "contain any values in the Test Vendor or invalid range: (0x0000_5000 - 0x0000_EFFF and 0x0000_FFFF), (0xXXXX_5000 " - "- 0xXXXX_FFFF) and (0xFFF1_0000 - 0xFFFF_FFFF), where XXXX is the allowed MEI range (0x0001 - 0xFFF1)\n"); - if (ShouldSkip("PICS_USER_PROMPT && PICS_EVENT_LIST_ENABLED")) { + ChipLogProgress(chipTool, " ***** Test Step 8 : Step 6a: Read the optional command(Pause) in AcceptedCommandList\n"); + if (ShouldSkip("RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp")) { NextTest(); return; } - err = TestStep5cThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_8(); + err = TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_8(); break; case 9: - ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6a: Read the optional command(Pause) in AcceptedCommandList\n"); - if (ShouldSkip("RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C03.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 9 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); + if (ShouldSkip("RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp")) { NextTest(); return; } - err = TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_9(); + err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_9(); break; case 10: - ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6b: Read the optional command(Stop) in AcceptedCommandList\n"); - if (ShouldSkip("RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 10 : Step 6c: Read the optional command(Start) in AcceptedCommandList\n"); + if (ShouldSkip("RVCOPSTATE.S.C02.Rsp")) { NextTest(); return; } - err = TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_10(); + err = TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_10(); break; case 11: - ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6c: Read the optional command(Start) in AcceptedCommandList\n"); - if (ShouldSkip("RVCOPSTATE.S.C02.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 11 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); + if (ShouldSkip("RVCOPSTATE.S.C03.Rsp || RVCOPSTATE.S.C00.Rsp")) { NextTest(); return; } - err = TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_11(); + err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_11(); break; case 12: - ChipLogProgress(chipTool, " ***** Test Step 12 : Step 6d: Read the optional command(Resume) in AcceptedCommandList\n"); - if (ShouldSkip("RVCOPSTATE.S.C03.Rsp || RVCOPSTATE.S.C00.Rsp")) { + ChipLogProgress(chipTool, " ***** Test Step 12 : Step 7: Read the global attribute: GeneratedCommandList\n"); + if (ShouldSkip(" !RVCOPSTATE.S.C00.Rsp && !RVCOPSTATE.S.C01.Rsp && !RVCOPSTATE.S.C02.Rsp && !RVCOPSTATE.S.C03.Rsp ")) { NextTest(); return; } - err = TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_12(); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_12(); break; case 13: ChipLogProgress(chipTool, " ***** Test Step 13 : Step 7: Read the global attribute: GeneratedCommandList\n"); - if (ShouldSkip(" !RVCOPSTATE.S.C00.Rsp && !RVCOPSTATE.S.C01.Rsp && !RVCOPSTATE.S.C02.Rsp && !RVCOPSTATE.S.C03.Rsp ")) { - NextTest(); - return; - } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_13(); - break; - case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Step 7: Read the global attribute: GeneratedCommandList\n"); if (ShouldSkip(" RVCOPSTATE.S.C00.Rsp || RVCOPSTATE.S.C01.Rsp || RVCOPSTATE.S.C02.Rsp || RVCOPSTATE.S.C03.Rsp ")) { NextTest(); return; } - err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_14(); + err = TestStep7ReadTheGlobalAttributeGeneratedCommandList_13(); break; } @@ -96062,9 +96048,6 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); break; - case 14: - VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); - break; } // Go on to the next test. @@ -96078,7 +96061,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 15; + const uint16_t mTestCount = 14; chip::Optional mNodeId; chip::Optional mCluster; @@ -96235,18 +96218,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR - TestStep5cThReadsFromTheDutTheEventListAttribute1TheListShallNotContainAnyAdditionalValuesInTheStandardOrScopedRange0x000000000x00004fffAnd0x0000F0000x0000Fffe2TheListMayContainValuesInTheManufacturerExtensibleIdentifierMeiRange0xXXXX00000xXXXX4fffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1TheseValuesShallBeIgnored3TheListShallNotContainAnyValuesInTheTestVendorOrInvalidRange0x000050000x0000EfffAnd0x0000Ffff0xXXXX50000xXXXXFfffAnd0xFFF100000xFFFFFfffWhereXxxxIsTheAllowedMeiRange0x00010xFFF1_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 TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_9() + CHIP_ERROR TestStep6aReadTheOptionalCommandPauseInAcceptedCommandList_8() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96270,7 +96242,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_10() + CHIP_ERROR TestStep6bReadTheOptionalCommandStopInAcceptedCommandList_9() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96294,7 +96266,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_11() + CHIP_ERROR TestStep6cReadTheOptionalCommandStartInAcceptedCommandList_10() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96317,7 +96289,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_12() + CHIP_ERROR TestStep6dReadTheOptionalCommandResumeInAcceptedCommandList_11() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96341,7 +96313,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_13() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_12() { MTRBaseDevice * device = GetDevice("alpha"); @@ -96367,7 +96339,7 @@ class Test_TC_RVCOPSTATE_1_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_14() + CHIP_ERROR TestStep7ReadTheGlobalAttributeGeneratedCommandList_13() { MTRBaseDevice * device = GetDevice("alpha");