diff --git a/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml b/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml index 9bed6bf9b5f47d..5260c0fa36c06a 100644 --- a/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml +++ b/src/app/tests/suites/certification/Test_TC_LVL_6_1.yaml @@ -102,8 +102,9 @@ tests: command: "readAttribute" attribute: "current level" response: - value: 25 constraints: + minValue: 23 + maxValue: 27 notValue: CurrentLevelValue - label: "Sends a move up command to DUT" @@ -147,13 +148,12 @@ tests: transitioning." - label: "Reads CurrentLevel attribute from DUT" - disabled: true # https://github.com/project-chip/connectedhomeip/issues/19869 - PICS: PICS_SKIP_SAMPLE_APP command: "readAttribute" attribute: "current level" response: - value: 50 constraints: + minValue: 48 + maxValue: 52 notValue: CurrentLevelValue - label: "Reset level to 254" diff --git a/zzz_generated/chip-tool/zap-generated/test/Commands.h b/zzz_generated/chip-tool/zap-generated/test/Commands.h index bb09bfa99b8839..5d61e62eb219d6 100644 --- a/zzz_generated/chip-tool/zap-generated/test/Commands.h +++ b/zzz_generated/chip-tool/zap-generated/test/Commands.h @@ -15232,7 +15232,7 @@ class Test_TC_LVL_5_1Suite : public TestCommand class Test_TC_LVL_6_1Suite : public TestCommand { public: - Test_TC_LVL_6_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LVL_6_1", 15, credsIssuerConfig) + Test_TC_LVL_6_1Suite(CredentialIssuerCommands * credsIssuerConfig) : TestCommand("Test_TC_LVL_6_1", 16, credsIssuerConfig) { AddArgument("nodeId", 0, UINT64_MAX, &mNodeId); AddArgument("cluster", &mCluster); @@ -15313,7 +15313,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand { uint8_t value; VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); - VerifyOrReturn(CheckValue("currentLevel", value, 25U)); + VerifyOrReturn(CheckConstraintMinValue("value", value, 23U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 27U)); VerifyOrReturn(CheckConstraintNotValue("value", value, CurrentLevelValue)); } break; @@ -15333,8 +15334,18 @@ class Test_TC_LVL_6_1Suite : public TestCommand break; case 13: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + { + uint8_t value; + VerifyOrReturn(CheckDecodeValue(chip::app::DataModel::Decode(*data, value))); + VerifyOrReturn(CheckConstraintMinValue("value", value, 48U)); + VerifyOrReturn(CheckConstraintMaxValue("value", value, 52U)); + VerifyOrReturn(CheckConstraintNotValue("value", value, CurrentLevelValue)); + } break; case 14: + VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); + break; + case 15: VerifyOrReturn(CheckValue("status", chip::to_underlying(status.mStatus), 0)); shouldContinue = true; break; @@ -15465,7 +15476,12 @@ class Test_TC_LVL_6_1Suite : public TestCommand return UserPrompt(kIdentityAlpha, value); } case 13: { - LogStep(13, "Reset level to 254"); + LogStep(13, "Reads CurrentLevel attribute from DUT"); + return ReadAttribute(kIdentityAlpha, GetEndpoint(1), LevelControl::Id, LevelControl::Attributes::CurrentLevel::Id, true, + chip::NullOptional); + } + case 14: { + LogStep(14, "Reset level to 254"); ListFreer listFreer; chip::app::Clusters::LevelControl::Commands::MoveToLevel::Type value; value.level = 254U; @@ -15477,8 +15493,8 @@ class Test_TC_LVL_6_1Suite : public TestCommand ); } - case 14: { - LogStep(14, "Wait 100ms"); + case 15: { + LogStep(15, "Wait 100ms"); ListFreer listFreer; chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL; 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 3b3da3b2d27f60..bdeef943c07882 100644 --- a/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h +++ b/zzz_generated/darwin-framework-tool/zap-generated/test/Commands.h @@ -25634,12 +25634,16 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { err = TestUserPromptMessage_12(); break; case 13: - ChipLogProgress(chipTool, " ***** Test Step 13 : Reset level to 254\n"); - err = TestResetLevelTo254_13(); + ChipLogProgress(chipTool, " ***** Test Step 13 : Reads CurrentLevel attribute from DUT\n"); + err = TestReadsCurrentLevelAttributeFromDut_13(); break; case 14: - ChipLogProgress(chipTool, " ***** Test Step 14 : Wait 100ms\n"); - err = TestWait100ms_14(); + ChipLogProgress(chipTool, " ***** Test Step 14 : Reset level to 254\n"); + err = TestResetLevelTo254_14(); + break; + case 15: + ChipLogProgress(chipTool, " ***** Test Step 15 : Wait 100ms\n"); + err = TestWait100ms_15(); break; } @@ -25697,6 +25701,9 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { 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. @@ -25710,7 +25717,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { private: std::atomic_uint16_t mTestIndex; - const uint16_t mTestCount = 15; + const uint16_t mTestCount = 16; chip::Optional mNodeId; chip::Optional mCluster; @@ -25862,11 +25869,8 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); - { - id actualValue = value; - VerifyOrReturn(CheckValue("current level", actualValue, 25U)); - } - + VerifyOrReturn(CheckConstraintMinValue("currentLevel", [value unsignedCharValue], 23U)); + VerifyOrReturn(CheckConstraintMaxValue("currentLevel", [value unsignedCharValue], 27U)); VerifyOrReturn(CheckConstraintNotValue("currentLevel", value, CurrentLevelValue)); NextTest(); @@ -25934,7 +25938,28 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return UserPrompt("alpha", value); } - CHIP_ERROR TestResetLevelTo254_13() + CHIP_ERROR TestReadsCurrentLevelAttributeFromDut_13() + { + CHIPDevice * device = GetDevice("alpha"); + CHIPTestLevelControl * cluster = [[CHIPTestLevelControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; + VerifyOrReturnError(cluster != nil, CHIP_ERROR_INCORRECT_STATE); + + [cluster readAttributeCurrentLevelWithCompletionHandler:^(NSNumber * _Nullable value, NSError * _Nullable err) { + NSLog(@"Reads CurrentLevel attribute from DUT Error: %@", err); + + VerifyOrReturn(CheckValue("status", err ? err.code : 0, 0)); + + VerifyOrReturn(CheckConstraintMinValue("currentLevel", [value unsignedCharValue], 48U)); + VerifyOrReturn(CheckConstraintMaxValue("currentLevel", [value unsignedCharValue], 52U)); + VerifyOrReturn(CheckConstraintNotValue("currentLevel", value, CurrentLevelValue)); + + NextTest(); + }]; + + return CHIP_NO_ERROR; + } + + CHIP_ERROR TestResetLevelTo254_14() { CHIPDevice * device = GetDevice("alpha"); CHIPTestLevelControl * cluster = [[CHIPTestLevelControl alloc] initWithDevice:device endpoint:1 queue:mCallbackQueue]; @@ -25957,7 +25982,7 @@ class Test_TC_LVL_6_1 : public TestCommandBridge { return CHIP_NO_ERROR; } - CHIP_ERROR TestWait100ms_14() + CHIP_ERROR TestWait100ms_15() { chip::app::Clusters::DelayCommands::Commands::WaitForMs::Type value; value.ms = 100UL;