| /* |
| * |
| * 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. |
| */ |
| |
| // THIS FILE IS GENERATED BY ZAP |
| |
| #pragma once |
| |
| #include <commands/tests/TestCommand.h> |
| |
| class TV_TargetNavigatorCluster : public TestCommand |
| { |
| public: |
| TV_TargetNavigatorCluster() : TestCommand("TV_TargetNavigatorCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_TargetNavigatorCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_TargetNavigatorCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Read attribute Target Navigator list\n"); |
| err = TestReadAttributeTargetNavigatorList_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Navigate Target Command\n"); |
| err = TestNavigateTargetCommand_1(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 2; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, _NavigateTargetTargetInfo * targetNavigatorList)> |
| mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status, chip::ByteSpan data)> mOnSuccessCallback_1{ |
| OnSuccessCallback_1, this |
| }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_TargetNavigatorCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t count, _NavigateTargetTargetInfo * targetNavigatorList) |
| { |
| (static_cast<TV_TargetNavigatorCluster *>(context))->OnSuccessResponse_0(count, targetNavigatorList); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TV_TargetNavigatorCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint8_t status, chip::ByteSpan data) |
| { |
| (static_cast<TV_TargetNavigatorCluster *>(context))->OnSuccessResponse_1(status, data); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadAttributeTargetNavigatorList_0() |
| { |
| chip::Controller::TargetNavigatorClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeTargetNavigatorList(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t count, _NavigateTargetTargetInfo * targetNavigatorList) |
| { |
| VerifyOrReturn(CheckValueAsList("targetNavigatorList", count, 2)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestNavigateTargetCommand_1() |
| { |
| chip::Controller::TargetNavigatorClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t targetArgument = 1; |
| chip::ByteSpan dataArgument = chip::ByteSpan(chip::Uint8::from_const_char("1"), strlen("1")); |
| |
| return cluster.NavigateTarget(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), targetArgument, dataArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint8_t status, chip::ByteSpan data) { NextTest(); } |
| }; |
| |
| class TV_AudioOutputCluster : public TestCommand |
| { |
| public: |
| TV_AudioOutputCluster() : TestCommand("TV_AudioOutputCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_AudioOutputCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_AudioOutputCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Read attribute Audio Output list\n"); |
| err = TestReadAttributeAudioOutputList_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Select Output Command\n"); |
| err = TestSelectOutputCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Rename Output Command\n"); |
| err = TestRenameOutputCommand_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, _AudioOutputInfo * audioOutputList)> mOnSuccessCallback_0{ |
| OnSuccessCallback_0, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_AudioOutputCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t count, _AudioOutputInfo * audioOutputList) |
| { |
| (static_cast<TV_AudioOutputCluster *>(context))->OnSuccessResponse_0(count, audioOutputList); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TV_AudioOutputCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context) { (static_cast<TV_AudioOutputCluster *>(context))->OnSuccessResponse_1(); } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TV_AudioOutputCluster *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<TV_AudioOutputCluster *>(context))->OnSuccessResponse_2(); } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadAttributeAudioOutputList_0() |
| { |
| chip::Controller::AudioOutputClusterTest cluster; |
| cluster.Associate(mDevice, 2); |
| |
| return cluster.ReadAttributeAudioOutputList(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t count, _AudioOutputInfo * audioOutputList) |
| { |
| VerifyOrReturn(CheckValueAsList("audioOutputList", count, 3)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSelectOutputCommand_1() |
| { |
| chip::Controller::AudioOutputClusterTest cluster; |
| cluster.Associate(mDevice, 2); |
| |
| uint8_t indexArgument = 1; |
| |
| return cluster.SelectOutput(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), indexArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1() { NextTest(); } |
| |
| CHIP_ERROR TestRenameOutputCommand_2() |
| { |
| chip::Controller::AudioOutputClusterTest cluster; |
| cluster.Associate(mDevice, 2); |
| |
| uint8_t indexArgument = 1; |
| chip::ByteSpan nameArgument = chip::ByteSpan(chip::Uint8::from_const_char("exampleName"), strlen("exampleName")); |
| |
| return cluster.RenameOutput(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), indexArgument, nameArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| }; |
| |
| class TV_ApplicationLauncherCluster : public TestCommand |
| { |
| public: |
| TV_ApplicationLauncherCluster() : TestCommand("TV_ApplicationLauncherCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_ApplicationLauncherCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_ApplicationLauncherCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Read attribute Application Launcher list\n"); |
| err = TestReadAttributeApplicationLauncherList_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Launch App Command\n"); |
| err = TestLaunchAppCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute catalog vendor id\n"); |
| err = TestReadAttributeCatalogVendorId_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute application id\n"); |
| err = TestReadAttributeApplicationId_3(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 4; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, uint16_t * applicationLauncherList)> mOnSuccessCallback_0{ |
| OnSuccessCallback_0, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status, chip::ByteSpan data)> mOnSuccessCallback_1{ |
| OnSuccessCallback_1, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t catalogVendorId)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t applicationId)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_ApplicationLauncherCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t count, uint16_t * applicationLauncherList) |
| { |
| (static_cast<TV_ApplicationLauncherCluster *>(context))->OnSuccessResponse_0(count, applicationLauncherList); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TV_ApplicationLauncherCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint8_t status, chip::ByteSpan data) |
| { |
| (static_cast<TV_ApplicationLauncherCluster *>(context))->OnSuccessResponse_1(status, data); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TV_ApplicationLauncherCluster *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t catalogVendorId) |
| { |
| (static_cast<TV_ApplicationLauncherCluster *>(context))->OnSuccessResponse_2(catalogVendorId); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<TV_ApplicationLauncherCluster *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint8_t applicationId) |
| { |
| (static_cast<TV_ApplicationLauncherCluster *>(context))->OnSuccessResponse_3(applicationId); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadAttributeApplicationLauncherList_0() |
| { |
| chip::Controller::ApplicationLauncherClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeApplicationLauncherList(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t count, uint16_t * applicationLauncherList) |
| { |
| VerifyOrReturn(CheckValueAsList("applicationLauncherList", count, 2)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestLaunchAppCommand_1() |
| { |
| chip::Controller::ApplicationLauncherClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan dataArgument = chip::ByteSpan(chip::Uint8::from_const_char("exampleData"), strlen("exampleData")); |
| uint16_t catalogVendorIdArgument = 1U; |
| chip::ByteSpan applicationIdArgument = chip::ByteSpan(chip::Uint8::from_const_char("appId"), strlen("appId")); |
| |
| return cluster.LaunchApp(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), dataArgument, |
| catalogVendorIdArgument, applicationIdArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint8_t status, chip::ByteSpan data) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeCatalogVendorId_2() |
| { |
| chip::Controller::ApplicationLauncherClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeCatalogVendorId(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t catalogVendorId) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("catalogVendorId", catalogVendorId, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeApplicationId_3() |
| { |
| chip::Controller::ApplicationLauncherClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeApplicationId(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint8_t applicationId) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("applicationId", applicationId, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class TV_KeypadInputCluster : public TestCommand |
| { |
| public: |
| TV_KeypadInputCluster() : TestCommand("TV_KeypadInputCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_KeypadInputCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_KeypadInputCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Send Key Command\n"); |
| err = TestSendKeyCommand_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_KeypadInputCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_KeypadInputCluster *>(context))->OnSuccessResponse_0(status); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestSendKeyCommand_0() |
| { |
| chip::Controller::KeypadInputClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t keyCodeArgument = 3; |
| |
| return cluster.SendKey(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), keyCodeArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint8_t status) { NextTest(); } |
| }; |
| |
| class TV_AccountLoginCluster : public TestCommand |
| { |
| public: |
| TV_AccountLoginCluster() : TestCommand("TV_AccountLoginCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_AccountLoginCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_AccountLoginCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Get Setup PIN Command\n"); |
| err = TestGetSetupPinCommand_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Login Command\n"); |
| err = TestLoginCommand_1(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 2; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan setupPIN)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_AccountLoginCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, chip::ByteSpan setupPIN) |
| { |
| (static_cast<TV_AccountLoginCluster *>(context))->OnSuccessResponse_0(setupPIN); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TV_AccountLoginCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context) { (static_cast<TV_AccountLoginCluster *>(context))->OnSuccessResponse_1(); } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestGetSetupPinCommand_0() |
| { |
| chip::Controller::AccountLoginClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| chip::ByteSpan tempAccountIdentifierArgument = chip::ByteSpan(chip::Uint8::from_const_char("asdf"), strlen("asdf")); |
| |
| return cluster.GetSetupPIN(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), tempAccountIdentifierArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(chip::ByteSpan setupPIN) { NextTest(); } |
| |
| CHIP_ERROR TestLoginCommand_1() |
| { |
| chip::Controller::AccountLoginClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| chip::ByteSpan tempAccountIdentifierArgument = chip::ByteSpan(chip::Uint8::from_const_char("asdf"), strlen("asdf")); |
| chip::ByteSpan setupPINArgument = chip::ByteSpan(chip::Uint8::from_const_char("tempPin123"), strlen("tempPin123")); |
| |
| return cluster.Login(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), tempAccountIdentifierArgument, |
| setupPINArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1() { NextTest(); } |
| }; |
| |
| class TV_WakeOnLanCluster : public TestCommand |
| { |
| public: |
| TV_WakeOnLanCluster() : TestCommand("TV_WakeOnLanCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_WakeOnLanCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_WakeOnLanCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Read mac address\n"); |
| err = TestReadMacAddress_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan wakeOnLanMacAddress)> mOnSuccessCallback_0{ |
| OnSuccessCallback_0, this |
| }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_WakeOnLanCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, chip::ByteSpan wakeOnLanMacAddress) |
| { |
| (static_cast<TV_WakeOnLanCluster *>(context))->OnSuccessResponse_0(wakeOnLanMacAddress); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadMacAddress_0() |
| { |
| chip::Controller::WakeOnLanClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeWakeOnLanMacAddress(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(chip::ByteSpan wakeOnLanMacAddress) |
| { |
| VerifyOrReturn(CheckValueAsString("wakeOnLanMacAddress", wakeOnLanMacAddress, "00:00:00:00:00")); |
| NextTest(); |
| } |
| }; |
| |
| class TV_ApplicationBasicCluster : public TestCommand |
| { |
| public: |
| TV_ApplicationBasicCluster() : TestCommand("TV_ApplicationBasicCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_ApplicationBasicCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_ApplicationBasicCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Change Status Command\n"); |
| err = TestChangeStatusCommand_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute vendor id\n"); |
| err = TestReadAttributeVendorId_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute product id\n"); |
| err = TestReadAttributeProductId_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute catalog vendor id\n"); |
| err = TestReadAttributeCatalogVendorId_3(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 4; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t vendorId)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t productId)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t catalogVendorId)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_ApplicationBasicCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<TV_ApplicationBasicCluster *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TV_ApplicationBasicCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint16_t vendorId) |
| { |
| (static_cast<TV_ApplicationBasicCluster *>(context))->OnSuccessResponse_1(vendorId); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TV_ApplicationBasicCluster *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint16_t productId) |
| { |
| (static_cast<TV_ApplicationBasicCluster *>(context))->OnSuccessResponse_2(productId); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<TV_ApplicationBasicCluster *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint16_t catalogVendorId) |
| { |
| (static_cast<TV_ApplicationBasicCluster *>(context))->OnSuccessResponse_3(catalogVendorId); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestChangeStatusCommand_0() |
| { |
| chip::Controller::ApplicationBasicClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| uint8_t statusArgument = 1; |
| |
| return cluster.ChangeStatus(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), statusArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeVendorId_1() |
| { |
| chip::Controller::ApplicationBasicClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.ReadAttributeVendorId(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint16_t vendorId) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("vendorId", vendorId, 1U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeProductId_2() |
| { |
| chip::Controller::ApplicationBasicClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.ReadAttributeProductId(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint16_t productId) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("productId", productId, 1U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeCatalogVendorId_3() |
| { |
| chip::Controller::ApplicationBasicClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.ReadAttributeCatalogVendorId(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint16_t catalogVendorId) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("catalogVendorId", catalogVendorId, 1U)); |
| NextTest(); |
| } |
| }; |
| |
| class TV_MediaPlaybackCluster : public TestCommand |
| { |
| public: |
| TV_MediaPlaybackCluster() : TestCommand("TV_MediaPlaybackCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_MediaPlaybackCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_MediaPlaybackCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Media Playback Play Command\n"); |
| err = TestMediaPlaybackPlayCommand_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Media Playback Pause Command\n"); |
| err = TestMediaPlaybackPauseCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Media Playback Stop Command\n"); |
| err = TestMediaPlaybackStopCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Media Playback Start Over Command\n"); |
| err = TestMediaPlaybackStartOverCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Media Playback Previous Command\n"); |
| err = TestMediaPlaybackPreviousCommand_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Media Playback Next Command\n"); |
| err = TestMediaPlaybackNextCommand_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Media Playback Rewind Command\n"); |
| err = TestMediaPlaybackRewindCommand_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : Media Playback Fast Forward Command\n"); |
| err = TestMediaPlaybackFastForwardCommand_7(); |
| break; |
| case 8: |
| ChipLogProgress(chipTool, " ***** Test Step 8 : Media Playback Skip Forward Command\n"); |
| err = TestMediaPlaybackSkipForwardCommand_8(); |
| break; |
| case 9: |
| ChipLogProgress(chipTool, " ***** Test Step 9 : Media Playback Skip Backward Command\n"); |
| err = TestMediaPlaybackSkipBackwardCommand_9(); |
| break; |
| case 10: |
| ChipLogProgress(chipTool, " ***** Test Step 10 : Media Playback Seek Command\n"); |
| err = TestMediaPlaybackSeekCommand_10(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 11; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_0{ OnSuccessCallback_0, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_1{ OnSuccessCallback_1, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_2{ OnSuccessCallback_2, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_3{ OnSuccessCallback_3, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_4{ OnSuccessCallback_4, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_5{ OnSuccessCallback_5, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_6{ OnSuccessCallback_6, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_7{ OnSuccessCallback_7, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_8{ OnFailureCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_8{ OnSuccessCallback_8, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_9{ OnFailureCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_9{ OnSuccessCallback_9, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_10{ OnFailureCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mediaPlaybackStatus)> mOnSuccessCallback_10{ OnSuccessCallback_10, |
| this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_0(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_1(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_2(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_3(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_4(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_5(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_6(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_7(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_8(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_8(status); |
| } |
| |
| static void OnSuccessCallback_8(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_8(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_9(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_9(status); |
| } |
| |
| static void OnSuccessCallback_9(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_9(mediaPlaybackStatus); |
| } |
| |
| static void OnFailureCallback_10(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnFailureResponse_10(status); |
| } |
| |
| static void OnSuccessCallback_10(void * context, uint8_t mediaPlaybackStatus) |
| { |
| (static_cast<TV_MediaPlaybackCluster *>(context))->OnSuccessResponse_10(mediaPlaybackStatus); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestMediaPlaybackPlayCommand_0() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.MediaPlay(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackPauseCommand_1() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.MediaPause(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackStopCommand_2() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.MediaStop(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackStartOverCommand_3() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.MediaStartOver(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackPreviousCommand_4() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.MediaPrevious(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackNextCommand_5() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.MediaNext(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackRewindCommand_6() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.MediaRewind(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackFastForwardCommand_7() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| return cluster.MediaFastForward(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackSkipForwardCommand_8() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| uint64_t deltaPositionMillisecondsArgument = 100ULL; |
| |
| return cluster.MediaSkipForward(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel(), |
| deltaPositionMillisecondsArgument); |
| } |
| |
| void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_8(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackSkipBackwardCommand_9() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| uint64_t deltaPositionMillisecondsArgument = 100ULL; |
| |
| return cluster.MediaSkipBackward(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel(), |
| deltaPositionMillisecondsArgument); |
| } |
| |
| void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_9(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMediaPlaybackSeekCommand_10() |
| { |
| chip::Controller::MediaPlaybackClusterTest cluster; |
| cluster.Associate(mDevice, 3); |
| |
| uint64_t positionArgument = 100ULL; |
| |
| return cluster.MediaSeek(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel(), positionArgument); |
| } |
| |
| void OnFailureResponse_10(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_10(uint8_t mediaPlaybackStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mediaPlaybackStatus", mediaPlaybackStatus, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class TV_TvChannelCluster : public TestCommand |
| { |
| public: |
| TV_TvChannelCluster() : TestCommand("TV_TvChannelCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_TvChannelCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_TvChannelCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Read attribute TV Channel list\n"); |
| err = TestReadAttributeTvChannelList_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Change Channel By Number Command\n"); |
| err = TestChangeChannelByNumberCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Skip Channel Command\n"); |
| err = TestSkipChannelCommand_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, _TvChannelInfo * tvChannelList)> mOnSuccessCallback_0{ |
| OnSuccessCallback_0, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_TvChannelCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t count, _TvChannelInfo * tvChannelList) |
| { |
| (static_cast<TV_TvChannelCluster *>(context))->OnSuccessResponse_0(count, tvChannelList); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TV_TvChannelCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context) { (static_cast<TV_TvChannelCluster *>(context))->OnSuccessResponse_1(); } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TV_TvChannelCluster *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<TV_TvChannelCluster *>(context))->OnSuccessResponse_2(); } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadAttributeTvChannelList_0() |
| { |
| chip::Controller::TvChannelClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeTvChannelList(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t count, _TvChannelInfo * tvChannelList) |
| { |
| VerifyOrReturn(CheckValueAsList("tvChannelList", count, 2)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestChangeChannelByNumberCommand_1() |
| { |
| chip::Controller::TvChannelClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t majorNumberArgument = 1U; |
| uint16_t minorNumberArgument = 2U; |
| |
| return cluster.ChangeChannelByNumber(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), majorNumberArgument, |
| minorNumberArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1() { NextTest(); } |
| |
| CHIP_ERROR TestSkipChannelCommand_2() |
| { |
| chip::Controller::TvChannelClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t countArgument = 1U; |
| |
| return cluster.SkipChannel(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), countArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| }; |
| |
| class TV_LowPowerCluster : public TestCommand |
| { |
| public: |
| TV_LowPowerCluster() : TestCommand("TV_LowPowerCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_LowPowerCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_LowPowerCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Sleep Input Status Command\n"); |
| err = TestSleepInputStatusCommand_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_LowPowerCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<TV_LowPowerCluster *>(context))->OnSuccessResponse_0(); } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestSleepInputStatusCommand_0() |
| { |
| chip::Controller::LowPowerClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Sleep(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| }; |
| |
| class TV_MediaInputCluster : public TestCommand |
| { |
| public: |
| TV_MediaInputCluster() : TestCommand("TV_MediaInputCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TV_MediaInputCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TV_MediaInputCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Read attribute media input list\n"); |
| err = TestReadAttributeMediaInputList_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Select Input Command\n"); |
| err = TestSelectInputCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Read current input list\n"); |
| err = TestReadCurrentInputList_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Hide Input Status Command\n"); |
| err = TestHideInputStatusCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Show Input Status Command\n"); |
| err = TestShowInputStatusCommand_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Rename Input Command\n"); |
| err = TestRenameInputCommand_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, _MediaInputInfo * mediaInputList)> mOnSuccessCallback_0{ |
| OnSuccessCallback_0, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t currentMediaInput)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaInputCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t count, _MediaInputInfo * mediaInputList) |
| { |
| (static_cast<TV_MediaInputCluster *>(context))->OnSuccessResponse_0(count, mediaInputList); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaInputCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context) { (static_cast<TV_MediaInputCluster *>(context))->OnSuccessResponse_1(); } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaInputCluster *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t currentMediaInput) |
| { |
| (static_cast<TV_MediaInputCluster *>(context))->OnSuccessResponse_2(currentMediaInput); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaInputCluster *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<TV_MediaInputCluster *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaInputCluster *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<TV_MediaInputCluster *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<TV_MediaInputCluster *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context) { (static_cast<TV_MediaInputCluster *>(context))->OnSuccessResponse_5(); } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadAttributeMediaInputList_0() |
| { |
| chip::Controller::MediaInputClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeMediaInputList(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t count, _MediaInputInfo * mediaInputList) |
| { |
| VerifyOrReturn(CheckValueAsList("mediaInputList", count, 2)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSelectInputCommand_1() |
| { |
| chip::Controller::MediaInputClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t indexArgument = 1; |
| |
| return cluster.SelectInput(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), indexArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1() { NextTest(); } |
| |
| CHIP_ERROR TestReadCurrentInputList_2() |
| { |
| chip::Controller::MediaInputClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeCurrentMediaInput(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t currentMediaInput) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("currentMediaInput", currentMediaInput, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestHideInputStatusCommand_3() |
| { |
| chip::Controller::MediaInputClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.HideInputStatus(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestShowInputStatusCommand_4() |
| { |
| chip::Controller::MediaInputClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ShowInputStatus(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestRenameInputCommand_5() |
| { |
| chip::Controller::MediaInputClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t indexArgument = 1; |
| chip::ByteSpan nameArgument = chip::ByteSpan(chip::Uint8::from_const_char("newName"), strlen("newName")); |
| |
| return cluster.RenameInput(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel(), indexArgument, nameArgument); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5() { NextTest(); } |
| }; |
| |
| class TestCluster : public TestCommand |
| { |
| public: |
| TestCluster() : TestCommand("TestCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TestCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TestCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Send Test Command\n"); |
| err = TestSendTestCommand_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Send Test Not Handled Command\n"); |
| err = TestSendTestNotHandledCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Send Test Specific Command\n"); |
| err = TestSendTestSpecificCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Send Test Add Arguments Command\n"); |
| err = TestSendTestAddArgumentsCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Send failing Test Add Arguments Command\n"); |
| err = TestSendFailingTestAddArgumentsCommand_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Read attribute BOOLEAN Default Value\n"); |
| err = TestReadAttributeBooleanDefaultValue_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Write attribute BOOLEAN True\n"); |
| err = TestWriteAttributeBooleanTrue_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : Read attribute BOOLEAN True\n"); |
| err = TestReadAttributeBooleanTrue_7(); |
| break; |
| case 8: |
| ChipLogProgress(chipTool, " ***** Test Step 8 : Write attribute BOOLEAN False\n"); |
| err = TestWriteAttributeBooleanFalse_8(); |
| break; |
| case 9: |
| ChipLogProgress(chipTool, " ***** Test Step 9 : Read attribute BOOLEAN False\n"); |
| err = TestReadAttributeBooleanFalse_9(); |
| break; |
| case 10: |
| ChipLogProgress(chipTool, " ***** Test Step 10 : Read attribute BITMAP8 Default Value\n"); |
| err = TestReadAttributeBitmap8DefaultValue_10(); |
| break; |
| case 11: |
| ChipLogProgress(chipTool, " ***** Test Step 11 : Write attribute BITMAP8 Max Value\n"); |
| err = TestWriteAttributeBitmap8MaxValue_11(); |
| break; |
| case 12: |
| ChipLogProgress(chipTool, " ***** Test Step 12 : Read attribute BITMAP8 Max Value\n"); |
| err = TestReadAttributeBitmap8MaxValue_12(); |
| break; |
| case 13: |
| ChipLogProgress(chipTool, " ***** Test Step 13 : Write attribute BITMAP8 Min Value\n"); |
| err = TestWriteAttributeBitmap8MinValue_13(); |
| break; |
| case 14: |
| ChipLogProgress(chipTool, " ***** Test Step 14 : Read attribute BITMAP8 Min Value\n"); |
| err = TestReadAttributeBitmap8MinValue_14(); |
| break; |
| case 15: |
| ChipLogProgress(chipTool, " ***** Test Step 15 : Read attribute BITMAP16 Default Value\n"); |
| err = TestReadAttributeBitmap16DefaultValue_15(); |
| break; |
| case 16: |
| ChipLogProgress(chipTool, " ***** Test Step 16 : Write attribute BITMAP16 Max Value\n"); |
| err = TestWriteAttributeBitmap16MaxValue_16(); |
| break; |
| case 17: |
| ChipLogProgress(chipTool, " ***** Test Step 17 : Read attribute BITMAP16 Max Value\n"); |
| err = TestReadAttributeBitmap16MaxValue_17(); |
| break; |
| case 18: |
| ChipLogProgress(chipTool, " ***** Test Step 18 : Write attribute BITMAP16 Min Value\n"); |
| err = TestWriteAttributeBitmap16MinValue_18(); |
| break; |
| case 19: |
| ChipLogProgress(chipTool, " ***** Test Step 19 : Read attribute BITMAP16 Min Value\n"); |
| err = TestReadAttributeBitmap16MinValue_19(); |
| break; |
| case 20: |
| ChipLogProgress(chipTool, " ***** Test Step 20 : Read attribute BITMAP32 Default Value\n"); |
| err = TestReadAttributeBitmap32DefaultValue_20(); |
| break; |
| case 21: |
| ChipLogProgress(chipTool, " ***** Test Step 21 : Write attribute BITMAP32 Max Value\n"); |
| err = TestWriteAttributeBitmap32MaxValue_21(); |
| break; |
| case 22: |
| ChipLogProgress(chipTool, " ***** Test Step 22 : Read attribute BITMAP32 Max Value\n"); |
| err = TestReadAttributeBitmap32MaxValue_22(); |
| break; |
| case 23: |
| ChipLogProgress(chipTool, " ***** Test Step 23 : Write attribute BITMAP32 Min Value\n"); |
| err = TestWriteAttributeBitmap32MinValue_23(); |
| break; |
| case 24: |
| ChipLogProgress(chipTool, " ***** Test Step 24 : Read attribute BITMAP32 Min Value\n"); |
| err = TestReadAttributeBitmap32MinValue_24(); |
| break; |
| case 25: |
| ChipLogProgress(chipTool, " ***** Test Step 25 : Read attribute BITMAP64 Default Value\n"); |
| err = TestReadAttributeBitmap64DefaultValue_25(); |
| break; |
| case 26: |
| ChipLogProgress(chipTool, " ***** Test Step 26 : Write attribute BITMAP64 Max Value\n"); |
| err = TestWriteAttributeBitmap64MaxValue_26(); |
| break; |
| case 27: |
| ChipLogProgress(chipTool, " ***** Test Step 27 : Read attribute BITMAP64 Max Value\n"); |
| err = TestReadAttributeBitmap64MaxValue_27(); |
| break; |
| case 28: |
| ChipLogProgress(chipTool, " ***** Test Step 28 : Write attribute BITMAP64 Min Value\n"); |
| err = TestWriteAttributeBitmap64MinValue_28(); |
| break; |
| case 29: |
| ChipLogProgress(chipTool, " ***** Test Step 29 : Read attribute BITMAP64 Min Value\n"); |
| err = TestReadAttributeBitmap64MinValue_29(); |
| break; |
| case 30: |
| ChipLogProgress(chipTool, " ***** Test Step 30 : Read attribute INT8U Default Value\n"); |
| err = TestReadAttributeInt8uDefaultValue_30(); |
| break; |
| case 31: |
| ChipLogProgress(chipTool, " ***** Test Step 31 : Write attribute INT8U Max Value\n"); |
| err = TestWriteAttributeInt8uMaxValue_31(); |
| break; |
| case 32: |
| ChipLogProgress(chipTool, " ***** Test Step 32 : Read attribute INT8U Max Value\n"); |
| err = TestReadAttributeInt8uMaxValue_32(); |
| break; |
| case 33: |
| ChipLogProgress(chipTool, " ***** Test Step 33 : Write attribute INT8U Min Value\n"); |
| err = TestWriteAttributeInt8uMinValue_33(); |
| break; |
| case 34: |
| ChipLogProgress(chipTool, " ***** Test Step 34 : Read attribute INT8U Min Value\n"); |
| err = TestReadAttributeInt8uMinValue_34(); |
| break; |
| case 35: |
| ChipLogProgress(chipTool, " ***** Test Step 35 : Read attribute INT16U Default Value\n"); |
| err = TestReadAttributeInt16uDefaultValue_35(); |
| break; |
| case 36: |
| ChipLogProgress(chipTool, " ***** Test Step 36 : Write attribute INT16U Max Value\n"); |
| err = TestWriteAttributeInt16uMaxValue_36(); |
| break; |
| case 37: |
| ChipLogProgress(chipTool, " ***** Test Step 37 : Read attribute INT16U Max Value\n"); |
| err = TestReadAttributeInt16uMaxValue_37(); |
| break; |
| case 38: |
| ChipLogProgress(chipTool, " ***** Test Step 38 : Write attribute INT16U Min Value\n"); |
| err = TestWriteAttributeInt16uMinValue_38(); |
| break; |
| case 39: |
| ChipLogProgress(chipTool, " ***** Test Step 39 : Read attribute INT16U Min Value\n"); |
| err = TestReadAttributeInt16uMinValue_39(); |
| break; |
| case 40: |
| ChipLogProgress(chipTool, " ***** Test Step 40 : Read attribute INT32U Default Value\n"); |
| err = TestReadAttributeInt32uDefaultValue_40(); |
| break; |
| case 41: |
| ChipLogProgress(chipTool, " ***** Test Step 41 : Write attribute INT32U Max Value\n"); |
| err = TestWriteAttributeInt32uMaxValue_41(); |
| break; |
| case 42: |
| ChipLogProgress(chipTool, " ***** Test Step 42 : Read attribute INT32U Max Value\n"); |
| err = TestReadAttributeInt32uMaxValue_42(); |
| break; |
| case 43: |
| ChipLogProgress(chipTool, " ***** Test Step 43 : Write attribute INT32U Min Value\n"); |
| err = TestWriteAttributeInt32uMinValue_43(); |
| break; |
| case 44: |
| ChipLogProgress(chipTool, " ***** Test Step 44 : Read attribute INT32U Min Value\n"); |
| err = TestReadAttributeInt32uMinValue_44(); |
| break; |
| case 45: |
| ChipLogProgress(chipTool, " ***** Test Step 45 : Read attribute INT64U Default Value\n"); |
| err = TestReadAttributeInt64uDefaultValue_45(); |
| break; |
| case 46: |
| ChipLogProgress(chipTool, " ***** Test Step 46 : Write attribute INT64U Max Value\n"); |
| err = TestWriteAttributeInt64uMaxValue_46(); |
| break; |
| case 47: |
| ChipLogProgress(chipTool, " ***** Test Step 47 : Read attribute INT64U Max Value\n"); |
| err = TestReadAttributeInt64uMaxValue_47(); |
| break; |
| case 48: |
| ChipLogProgress(chipTool, " ***** Test Step 48 : Write attribute INT64U Min Value\n"); |
| err = TestWriteAttributeInt64uMinValue_48(); |
| break; |
| case 49: |
| ChipLogProgress(chipTool, " ***** Test Step 49 : Read attribute INT64U Min Value\n"); |
| err = TestReadAttributeInt64uMinValue_49(); |
| break; |
| case 50: |
| ChipLogProgress(chipTool, " ***** Test Step 50 : Read attribute INT8S Default Value\n"); |
| err = TestReadAttributeInt8sDefaultValue_50(); |
| break; |
| case 51: |
| ChipLogProgress(chipTool, " ***** Test Step 51 : Write attribute INT8S Max Value\n"); |
| err = TestWriteAttributeInt8sMaxValue_51(); |
| break; |
| case 52: |
| ChipLogProgress(chipTool, " ***** Test Step 52 : Read attribute INT8S Max Value\n"); |
| err = TestReadAttributeInt8sMaxValue_52(); |
| break; |
| case 53: |
| ChipLogProgress(chipTool, " ***** Test Step 53 : Write attribute INT8S Min Value\n"); |
| err = TestWriteAttributeInt8sMinValue_53(); |
| break; |
| case 54: |
| ChipLogProgress(chipTool, " ***** Test Step 54 : Read attribute INT8S Min Value\n"); |
| err = TestReadAttributeInt8sMinValue_54(); |
| break; |
| case 55: |
| ChipLogProgress(chipTool, " ***** Test Step 55 : Write attribute INT8S Default Value\n"); |
| err = TestWriteAttributeInt8sDefaultValue_55(); |
| break; |
| case 56: |
| ChipLogProgress(chipTool, " ***** Test Step 56 : Read attribute INT8S Default Value\n"); |
| err = TestReadAttributeInt8sDefaultValue_56(); |
| break; |
| case 57: |
| ChipLogProgress(chipTool, " ***** Test Step 57 : Read attribute INT16S Default Value\n"); |
| err = TestReadAttributeInt16sDefaultValue_57(); |
| break; |
| case 58: |
| ChipLogProgress(chipTool, " ***** Test Step 58 : Write attribute INT16S Max Value\n"); |
| err = TestWriteAttributeInt16sMaxValue_58(); |
| break; |
| case 59: |
| ChipLogProgress(chipTool, " ***** Test Step 59 : Read attribute INT16S Max Value\n"); |
| err = TestReadAttributeInt16sMaxValue_59(); |
| break; |
| case 60: |
| ChipLogProgress(chipTool, " ***** Test Step 60 : Write attribute INT16S Min Value\n"); |
| err = TestWriteAttributeInt16sMinValue_60(); |
| break; |
| case 61: |
| ChipLogProgress(chipTool, " ***** Test Step 61 : Read attribute INT16S Min Value\n"); |
| err = TestReadAttributeInt16sMinValue_61(); |
| break; |
| case 62: |
| ChipLogProgress(chipTool, " ***** Test Step 62 : Write attribute INT16S Default Value\n"); |
| err = TestWriteAttributeInt16sDefaultValue_62(); |
| break; |
| case 63: |
| ChipLogProgress(chipTool, " ***** Test Step 63 : Read attribute INT16S Default Value\n"); |
| err = TestReadAttributeInt16sDefaultValue_63(); |
| break; |
| case 64: |
| ChipLogProgress(chipTool, " ***** Test Step 64 : Read attribute INT32S Default Value\n"); |
| err = TestReadAttributeInt32sDefaultValue_64(); |
| break; |
| case 65: |
| ChipLogProgress(chipTool, " ***** Test Step 65 : Write attribute INT32S Max Value\n"); |
| err = TestWriteAttributeInt32sMaxValue_65(); |
| break; |
| case 66: |
| ChipLogProgress(chipTool, " ***** Test Step 66 : Read attribute INT32S Max Value\n"); |
| err = TestReadAttributeInt32sMaxValue_66(); |
| break; |
| case 67: |
| ChipLogProgress(chipTool, " ***** Test Step 67 : Write attribute INT32S Min Value\n"); |
| err = TestWriteAttributeInt32sMinValue_67(); |
| break; |
| case 68: |
| ChipLogProgress(chipTool, " ***** Test Step 68 : Read attribute INT32S Min Value\n"); |
| err = TestReadAttributeInt32sMinValue_68(); |
| break; |
| case 69: |
| ChipLogProgress(chipTool, " ***** Test Step 69 : Write attribute INT32S Default Value\n"); |
| err = TestWriteAttributeInt32sDefaultValue_69(); |
| break; |
| case 70: |
| ChipLogProgress(chipTool, " ***** Test Step 70 : Read attribute INT32S Default Value\n"); |
| err = TestReadAttributeInt32sDefaultValue_70(); |
| break; |
| case 71: |
| ChipLogProgress(chipTool, " ***** Test Step 71 : Read attribute INT64S Default Value\n"); |
| err = TestReadAttributeInt64sDefaultValue_71(); |
| break; |
| case 72: |
| ChipLogProgress(chipTool, " ***** Test Step 72 : Write attribute INT64S Max Value\n"); |
| err = TestWriteAttributeInt64sMaxValue_72(); |
| break; |
| case 73: |
| ChipLogProgress(chipTool, " ***** Test Step 73 : Read attribute INT64S Max Value\n"); |
| err = TestReadAttributeInt64sMaxValue_73(); |
| break; |
| case 74: |
| ChipLogProgress(chipTool, " ***** Test Step 74 : Write attribute INT64S Min Value\n"); |
| err = TestWriteAttributeInt64sMinValue_74(); |
| break; |
| case 75: |
| ChipLogProgress(chipTool, " ***** Test Step 75 : Read attribute INT64S Min Value\n"); |
| err = TestReadAttributeInt64sMinValue_75(); |
| break; |
| case 76: |
| ChipLogProgress(chipTool, " ***** Test Step 76 : Write attribute INT64S Default Value\n"); |
| err = TestWriteAttributeInt64sDefaultValue_76(); |
| break; |
| case 77: |
| ChipLogProgress(chipTool, " ***** Test Step 77 : Read attribute INT64S Default Value\n"); |
| err = TestReadAttributeInt64sDefaultValue_77(); |
| break; |
| case 78: |
| ChipLogProgress(chipTool, " ***** Test Step 78 : Read attribute ENUM8 Default Value\n"); |
| err = TestReadAttributeEnum8DefaultValue_78(); |
| break; |
| case 79: |
| ChipLogProgress(chipTool, " ***** Test Step 79 : Write attribute ENUM8 Max Value\n"); |
| err = TestWriteAttributeEnum8MaxValue_79(); |
| break; |
| case 80: |
| ChipLogProgress(chipTool, " ***** Test Step 80 : Read attribute ENUM8 Max Value\n"); |
| err = TestReadAttributeEnum8MaxValue_80(); |
| break; |
| case 81: |
| ChipLogProgress(chipTool, " ***** Test Step 81 : Write attribute ENUM8 Min Value\n"); |
| err = TestWriteAttributeEnum8MinValue_81(); |
| break; |
| case 82: |
| ChipLogProgress(chipTool, " ***** Test Step 82 : Read attribute ENUM8 Min Value\n"); |
| err = TestReadAttributeEnum8MinValue_82(); |
| break; |
| case 83: |
| ChipLogProgress(chipTool, " ***** Test Step 83 : Read attribute ENUM16 Default Value\n"); |
| err = TestReadAttributeEnum16DefaultValue_83(); |
| break; |
| case 84: |
| ChipLogProgress(chipTool, " ***** Test Step 84 : Write attribute ENUM16 Max Value\n"); |
| err = TestWriteAttributeEnum16MaxValue_84(); |
| break; |
| case 85: |
| ChipLogProgress(chipTool, " ***** Test Step 85 : Read attribute ENUM16 Max Value\n"); |
| err = TestReadAttributeEnum16MaxValue_85(); |
| break; |
| case 86: |
| ChipLogProgress(chipTool, " ***** Test Step 86 : Write attribute ENUM16 Min Value\n"); |
| err = TestWriteAttributeEnum16MinValue_86(); |
| break; |
| case 87: |
| ChipLogProgress(chipTool, " ***** Test Step 87 : Read attribute ENUM16 Min Value\n"); |
| err = TestReadAttributeEnum16MinValue_87(); |
| break; |
| case 88: |
| ChipLogProgress(chipTool, " ***** Test Step 88 : Read attribute OCTET_STRING Default Value\n"); |
| err = TestReadAttributeOctetStringDefaultValue_88(); |
| break; |
| case 89: |
| ChipLogProgress(chipTool, " ***** Test Step 89 : Write attribute OCTET_STRING\n"); |
| err = TestWriteAttributeOctetString_89(); |
| break; |
| case 90: |
| ChipLogProgress(chipTool, " ***** Test Step 90 : Read attribute OCTET_STRING\n"); |
| err = TestReadAttributeOctetString_90(); |
| break; |
| case 91: |
| ChipLogProgress(chipTool, " ***** Test Step 91 : Write attribute OCTET_STRING\n"); |
| err = TestWriteAttributeOctetString_91(); |
| break; |
| case 92: |
| ChipLogProgress(chipTool, " ***** Test Step 92 : Read attribute OCTET_STRING\n"); |
| err = TestReadAttributeOctetString_92(); |
| break; |
| case 93: |
| ChipLogProgress(chipTool, " ***** Test Step 93 : Write attribute OCTET_STRING\n"); |
| err = TestWriteAttributeOctetString_93(); |
| break; |
| case 94: |
| ChipLogProgress(chipTool, " ***** Test Step 94 : Read attribute LONG_OCTET_STRING Default Value\n"); |
| err = TestReadAttributeLongOctetStringDefaultValue_94(); |
| break; |
| case 95: |
| ChipLogProgress(chipTool, " ***** Test Step 95 : Write attribute LONG_OCTET_STRING\n"); |
| err = TestWriteAttributeLongOctetString_95(); |
| break; |
| case 96: |
| ChipLogProgress(chipTool, " ***** Test Step 96 : Read attribute LONG_OCTET_STRING\n"); |
| err = TestReadAttributeLongOctetString_96(); |
| break; |
| case 97: |
| ChipLogProgress(chipTool, " ***** Test Step 97 : Write attribute LONG_OCTET_STRING\n"); |
| err = TestWriteAttributeLongOctetString_97(); |
| break; |
| case 98: |
| ChipLogProgress(chipTool, " ***** Test Step 98 : Read attribute CHAR_STRING Default Value\n"); |
| err = TestReadAttributeCharStringDefaultValue_98(); |
| break; |
| case 99: |
| ChipLogProgress(chipTool, " ***** Test Step 99 : Write attribute CHAR_STRING\n"); |
| err = TestWriteAttributeCharString_99(); |
| break; |
| case 100: |
| ChipLogProgress(chipTool, " ***** Test Step 100 : Write attribute CHAR_STRING - Value too long\n"); |
| err = TestWriteAttributeCharStringValueTooLong_100(); |
| break; |
| case 101: |
| ChipLogProgress(chipTool, " ***** Test Step 101 : Write attribute CHAR_STRING - Empty\n"); |
| err = TestWriteAttributeCharStringEmpty_101(); |
| break; |
| case 102: |
| ChipLogProgress(chipTool, " ***** Test Step 102 : Read attribute LONG_CHAR_STRING Default Value\n"); |
| err = TestReadAttributeLongCharStringDefaultValue_102(); |
| break; |
| case 103: |
| ChipLogProgress(chipTool, " ***** Test Step 103 : Write attribute LONG_CHAR_STRING\n"); |
| err = TestWriteAttributeLongCharString_103(); |
| break; |
| case 104: |
| ChipLogProgress(chipTool, " ***** Test Step 104 : Read attribute LONG_CHAR_STRING\n"); |
| err = TestReadAttributeLongCharString_104(); |
| break; |
| case 105: |
| ChipLogProgress(chipTool, " ***** Test Step 105 : Write attribute LONG_CHAR_STRING\n"); |
| err = TestWriteAttributeLongCharString_105(); |
| break; |
| case 106: |
| ChipLogProgress(chipTool, " ***** Test Step 106 : Read attribute LIST\n"); |
| err = TestReadAttributeList_106(); |
| break; |
| case 107: |
| ChipLogProgress(chipTool, " ***** Test Step 107 : Read attribute LIST_OCTET_STRING\n"); |
| err = TestReadAttributeListOctetString_107(); |
| break; |
| case 108: |
| ChipLogProgress(chipTool, " ***** Test Step 108 : Read attribute LIST_STRUCT_OCTET_STRING\n"); |
| err = TestReadAttributeListStructOctetString_108(); |
| break; |
| case 109: |
| ChipLogProgress(chipTool, " ***** Test Step 109 : Read attribute EPOCH_US Default Value\n"); |
| err = TestReadAttributeEpochUsDefaultValue_109(); |
| break; |
| case 110: |
| ChipLogProgress(chipTool, " ***** Test Step 110 : Write attribute EPOCH_US Max Value\n"); |
| err = TestWriteAttributeEpochUsMaxValue_110(); |
| break; |
| case 111: |
| ChipLogProgress(chipTool, " ***** Test Step 111 : Read attribute EPOCH_US Max Value\n"); |
| err = TestReadAttributeEpochUsMaxValue_111(); |
| break; |
| case 112: |
| ChipLogProgress(chipTool, " ***** Test Step 112 : Write attribute EPOCH_US Min Value\n"); |
| err = TestWriteAttributeEpochUsMinValue_112(); |
| break; |
| case 113: |
| ChipLogProgress(chipTool, " ***** Test Step 113 : Read attribute EPOCH_US Min Value\n"); |
| err = TestReadAttributeEpochUsMinValue_113(); |
| break; |
| case 114: |
| ChipLogProgress(chipTool, " ***** Test Step 114 : Read attribute EPOCH_S Default Value\n"); |
| err = TestReadAttributeEpochSDefaultValue_114(); |
| break; |
| case 115: |
| ChipLogProgress(chipTool, " ***** Test Step 115 : Write attribute EPOCH_S Max Value\n"); |
| err = TestWriteAttributeEpochSMaxValue_115(); |
| break; |
| case 116: |
| ChipLogProgress(chipTool, " ***** Test Step 116 : Read attribute EPOCH_S Max Value\n"); |
| err = TestReadAttributeEpochSMaxValue_116(); |
| break; |
| case 117: |
| ChipLogProgress(chipTool, " ***** Test Step 117 : Write attribute EPOCH_S Min Value\n"); |
| err = TestWriteAttributeEpochSMinValue_117(); |
| break; |
| case 118: |
| ChipLogProgress(chipTool, " ***** Test Step 118 : Read attribute EPOCH_S Min Value\n"); |
| err = TestReadAttributeEpochSMinValue_118(); |
| break; |
| case 119: |
| ChipLogProgress(chipTool, " ***** Test Step 119 : Read attribute UNSUPPORTED\n"); |
| err = TestReadAttributeUnsupported_119(); |
| break; |
| case 120: |
| ChipLogProgress(chipTool, " ***** Test Step 120 : Writeattribute UNSUPPORTED\n"); |
| err = TestWriteattributeUnsupported_120(); |
| break; |
| case 121: |
| ChipLogProgress(chipTool, " ***** Test Step 121 : Send Test Command to unsupported endpoint\n"); |
| err = TestSendTestCommandToUnsupportedEndpoint_121(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 122; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t returnValue)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t returnValue)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t returnValue)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool boolean)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, bool boolean)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, bool boolean)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_8{ OnFailureCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, bool boolean)> mOnSuccessCallback_8{ OnSuccessCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_9{ OnFailureCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, bool boolean)> mOnSuccessCallback_9{ OnSuccessCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_10{ OnFailureCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t bitmap8)> mOnSuccessCallback_10{ OnSuccessCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_11{ OnFailureCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t bitmap8)> mOnSuccessCallback_11{ OnSuccessCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_12{ OnFailureCallback_12, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t bitmap8)> mOnSuccessCallback_12{ OnSuccessCallback_12, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_13{ OnFailureCallback_13, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t bitmap8)> mOnSuccessCallback_13{ OnSuccessCallback_13, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_14{ OnFailureCallback_14, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t bitmap8)> mOnSuccessCallback_14{ OnSuccessCallback_14, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_15{ OnFailureCallback_15, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t bitmap16)> mOnSuccessCallback_15{ OnSuccessCallback_15, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_16{ OnFailureCallback_16, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t bitmap16)> mOnSuccessCallback_16{ OnSuccessCallback_16, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_17{ OnFailureCallback_17, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t bitmap16)> mOnSuccessCallback_17{ OnSuccessCallback_17, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_18{ OnFailureCallback_18, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t bitmap16)> mOnSuccessCallback_18{ OnSuccessCallback_18, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_19{ OnFailureCallback_19, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t bitmap16)> mOnSuccessCallback_19{ OnSuccessCallback_19, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_20{ OnFailureCallback_20, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t bitmap32)> mOnSuccessCallback_20{ OnSuccessCallback_20, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_21{ OnFailureCallback_21, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t bitmap32)> mOnSuccessCallback_21{ OnSuccessCallback_21, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_22{ OnFailureCallback_22, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t bitmap32)> mOnSuccessCallback_22{ OnSuccessCallback_22, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_23{ OnFailureCallback_23, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t bitmap32)> mOnSuccessCallback_23{ OnSuccessCallback_23, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_24{ OnFailureCallback_24, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t bitmap32)> mOnSuccessCallback_24{ OnSuccessCallback_24, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_25{ OnFailureCallback_25, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t bitmap64)> mOnSuccessCallback_25{ OnSuccessCallback_25, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_26{ OnFailureCallback_26, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t bitmap64)> mOnSuccessCallback_26{ OnSuccessCallback_26, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_27{ OnFailureCallback_27, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t bitmap64)> mOnSuccessCallback_27{ OnSuccessCallback_27, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_28{ OnFailureCallback_28, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t bitmap64)> mOnSuccessCallback_28{ OnSuccessCallback_28, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_29{ OnFailureCallback_29, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t bitmap64)> mOnSuccessCallback_29{ OnSuccessCallback_29, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_30{ OnFailureCallback_30, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t int8u)> mOnSuccessCallback_30{ OnSuccessCallback_30, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_31{ OnFailureCallback_31, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t int8u)> mOnSuccessCallback_31{ OnSuccessCallback_31, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_32{ OnFailureCallback_32, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t int8u)> mOnSuccessCallback_32{ OnSuccessCallback_32, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_33{ OnFailureCallback_33, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t int8u)> mOnSuccessCallback_33{ OnSuccessCallback_33, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_34{ OnFailureCallback_34, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t int8u)> mOnSuccessCallback_34{ OnSuccessCallback_34, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_35{ OnFailureCallback_35, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t int16u)> mOnSuccessCallback_35{ OnSuccessCallback_35, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_36{ OnFailureCallback_36, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t int16u)> mOnSuccessCallback_36{ OnSuccessCallback_36, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_37{ OnFailureCallback_37, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t int16u)> mOnSuccessCallback_37{ OnSuccessCallback_37, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_38{ OnFailureCallback_38, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t int16u)> mOnSuccessCallback_38{ OnSuccessCallback_38, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_39{ OnFailureCallback_39, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t int16u)> mOnSuccessCallback_39{ OnSuccessCallback_39, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_40{ OnFailureCallback_40, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_40{ OnSuccessCallback_40, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_41{ OnFailureCallback_41, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_41{ OnSuccessCallback_41, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_42{ OnFailureCallback_42, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_42{ OnSuccessCallback_42, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_43{ OnFailureCallback_43, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_43{ OnSuccessCallback_43, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_44{ OnFailureCallback_44, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_44{ OnSuccessCallback_44, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_45{ OnFailureCallback_45, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t int64u)> mOnSuccessCallback_45{ OnSuccessCallback_45, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_46{ OnFailureCallback_46, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t int64u)> mOnSuccessCallback_46{ OnSuccessCallback_46, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_47{ OnFailureCallback_47, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t int64u)> mOnSuccessCallback_47{ OnSuccessCallback_47, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_48{ OnFailureCallback_48, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t int64u)> mOnSuccessCallback_48{ OnSuccessCallback_48, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_49{ OnFailureCallback_49, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t int64u)> mOnSuccessCallback_49{ OnSuccessCallback_49, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_50{ OnFailureCallback_50, this }; |
| chip::Callback::Callback<void (*)(void * context, int8_t int8s)> mOnSuccessCallback_50{ OnSuccessCallback_50, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_51{ OnFailureCallback_51, this }; |
| chip::Callback::Callback<void (*)(void * context, int8_t int8s)> mOnSuccessCallback_51{ OnSuccessCallback_51, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_52{ OnFailureCallback_52, this }; |
| chip::Callback::Callback<void (*)(void * context, int8_t int8s)> mOnSuccessCallback_52{ OnSuccessCallback_52, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_53{ OnFailureCallback_53, this }; |
| chip::Callback::Callback<void (*)(void * context, int8_t int8s)> mOnSuccessCallback_53{ OnSuccessCallback_53, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_54{ OnFailureCallback_54, this }; |
| chip::Callback::Callback<void (*)(void * context, int8_t int8s)> mOnSuccessCallback_54{ OnSuccessCallback_54, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_55{ OnFailureCallback_55, this }; |
| chip::Callback::Callback<void (*)(void * context, int8_t int8s)> mOnSuccessCallback_55{ OnSuccessCallback_55, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_56{ OnFailureCallback_56, this }; |
| chip::Callback::Callback<void (*)(void * context, int8_t int8s)> mOnSuccessCallback_56{ OnSuccessCallback_56, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_57{ OnFailureCallback_57, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t int16s)> mOnSuccessCallback_57{ OnSuccessCallback_57, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_58{ OnFailureCallback_58, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t int16s)> mOnSuccessCallback_58{ OnSuccessCallback_58, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_59{ OnFailureCallback_59, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t int16s)> mOnSuccessCallback_59{ OnSuccessCallback_59, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_60{ OnFailureCallback_60, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t int16s)> mOnSuccessCallback_60{ OnSuccessCallback_60, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_61{ OnFailureCallback_61, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t int16s)> mOnSuccessCallback_61{ OnSuccessCallback_61, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_62{ OnFailureCallback_62, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t int16s)> mOnSuccessCallback_62{ OnSuccessCallback_62, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_63{ OnFailureCallback_63, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t int16s)> mOnSuccessCallback_63{ OnSuccessCallback_63, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_64{ OnFailureCallback_64, this }; |
| chip::Callback::Callback<void (*)(void * context, int32_t int32s)> mOnSuccessCallback_64{ OnSuccessCallback_64, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_65{ OnFailureCallback_65, this }; |
| chip::Callback::Callback<void (*)(void * context, int32_t int32s)> mOnSuccessCallback_65{ OnSuccessCallback_65, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_66{ OnFailureCallback_66, this }; |
| chip::Callback::Callback<void (*)(void * context, int32_t int32s)> mOnSuccessCallback_66{ OnSuccessCallback_66, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_67{ OnFailureCallback_67, this }; |
| chip::Callback::Callback<void (*)(void * context, int32_t int32s)> mOnSuccessCallback_67{ OnSuccessCallback_67, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_68{ OnFailureCallback_68, this }; |
| chip::Callback::Callback<void (*)(void * context, int32_t int32s)> mOnSuccessCallback_68{ OnSuccessCallback_68, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_69{ OnFailureCallback_69, this }; |
| chip::Callback::Callback<void (*)(void * context, int32_t int32s)> mOnSuccessCallback_69{ OnSuccessCallback_69, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_70{ OnFailureCallback_70, this }; |
| chip::Callback::Callback<void (*)(void * context, int32_t int32s)> mOnSuccessCallback_70{ OnSuccessCallback_70, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_71{ OnFailureCallback_71, this }; |
| chip::Callback::Callback<void (*)(void * context, int64_t int64s)> mOnSuccessCallback_71{ OnSuccessCallback_71, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_72{ OnFailureCallback_72, this }; |
| chip::Callback::Callback<void (*)(void * context, int64_t int64s)> mOnSuccessCallback_72{ OnSuccessCallback_72, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_73{ OnFailureCallback_73, this }; |
| chip::Callback::Callback<void (*)(void * context, int64_t int64s)> mOnSuccessCallback_73{ OnSuccessCallback_73, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_74{ OnFailureCallback_74, this }; |
| chip::Callback::Callback<void (*)(void * context, int64_t int64s)> mOnSuccessCallback_74{ OnSuccessCallback_74, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_75{ OnFailureCallback_75, this }; |
| chip::Callback::Callback<void (*)(void * context, int64_t int64s)> mOnSuccessCallback_75{ OnSuccessCallback_75, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_76{ OnFailureCallback_76, this }; |
| chip::Callback::Callback<void (*)(void * context, int64_t int64s)> mOnSuccessCallback_76{ OnSuccessCallback_76, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_77{ OnFailureCallback_77, this }; |
| chip::Callback::Callback<void (*)(void * context, int64_t int64s)> mOnSuccessCallback_77{ OnSuccessCallback_77, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_78{ OnFailureCallback_78, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t enum8)> mOnSuccessCallback_78{ OnSuccessCallback_78, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_79{ OnFailureCallback_79, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t enum8)> mOnSuccessCallback_79{ OnSuccessCallback_79, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_80{ OnFailureCallback_80, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t enum8)> mOnSuccessCallback_80{ OnSuccessCallback_80, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_81{ OnFailureCallback_81, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t enum8)> mOnSuccessCallback_81{ OnSuccessCallback_81, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_82{ OnFailureCallback_82, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t enum8)> mOnSuccessCallback_82{ OnSuccessCallback_82, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_83{ OnFailureCallback_83, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t enum16)> mOnSuccessCallback_83{ OnSuccessCallback_83, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_84{ OnFailureCallback_84, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t enum16)> mOnSuccessCallback_84{ OnSuccessCallback_84, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_85{ OnFailureCallback_85, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t enum16)> mOnSuccessCallback_85{ OnSuccessCallback_85, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_86{ OnFailureCallback_86, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t enum16)> mOnSuccessCallback_86{ OnSuccessCallback_86, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_87{ OnFailureCallback_87, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t enum16)> mOnSuccessCallback_87{ OnSuccessCallback_87, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_88{ OnFailureCallback_88, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan octetString)> mOnSuccessCallback_88{ OnSuccessCallback_88, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_89{ OnFailureCallback_89, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan octetString)> mOnSuccessCallback_89{ OnSuccessCallback_89, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_90{ OnFailureCallback_90, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan octetString)> mOnSuccessCallback_90{ OnSuccessCallback_90, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_91{ OnFailureCallback_91, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan octetString)> mOnSuccessCallback_91{ OnSuccessCallback_91, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_92{ OnFailureCallback_92, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan octetString)> mOnSuccessCallback_92{ OnSuccessCallback_92, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_93{ OnFailureCallback_93, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan octetString)> mOnSuccessCallback_93{ OnSuccessCallback_93, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_94{ OnFailureCallback_94, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan longOctetString)> mOnSuccessCallback_94{ OnSuccessCallback_94, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_95{ OnFailureCallback_95, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan longOctetString)> mOnSuccessCallback_95{ OnSuccessCallback_95, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_96{ OnFailureCallback_96, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan longOctetString)> mOnSuccessCallback_96{ OnSuccessCallback_96, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_97{ OnFailureCallback_97, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan longOctetString)> mOnSuccessCallback_97{ OnSuccessCallback_97, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_98{ OnFailureCallback_98, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan charString)> mOnSuccessCallback_98{ OnSuccessCallback_98, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_99{ OnFailureCallback_99, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan charString)> mOnSuccessCallback_99{ OnSuccessCallback_99, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_100{ OnFailureCallback_100, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan charString)> mOnSuccessCallback_100{ OnSuccessCallback_100, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_101{ OnFailureCallback_101, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan charString)> mOnSuccessCallback_101{ OnSuccessCallback_101, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_102{ OnFailureCallback_102, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan longCharString)> mOnSuccessCallback_102{ OnSuccessCallback_102, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_103{ OnFailureCallback_103, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan longCharString)> mOnSuccessCallback_103{ OnSuccessCallback_103, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_104{ OnFailureCallback_104, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan longCharString)> mOnSuccessCallback_104{ OnSuccessCallback_104, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_105{ OnFailureCallback_105, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan longCharString)> mOnSuccessCallback_105{ OnSuccessCallback_105, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_106{ OnFailureCallback_106, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, uint8_t * listInt8u)> mOnSuccessCallback_106{ |
| OnSuccessCallback_106, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_107{ OnFailureCallback_107, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, chip::ByteSpan * listOctetString)> mOnSuccessCallback_107{ |
| OnSuccessCallback_107, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_108{ OnFailureCallback_108, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, _TestListStructOctet * listStructOctetString)> |
| mOnSuccessCallback_108{ OnSuccessCallback_108, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_109{ OnFailureCallback_109, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t epochUs)> mOnSuccessCallback_109{ OnSuccessCallback_109, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_110{ OnFailureCallback_110, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t epochUs)> mOnSuccessCallback_110{ OnSuccessCallback_110, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_111{ OnFailureCallback_111, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t epochUs)> mOnSuccessCallback_111{ OnSuccessCallback_111, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_112{ OnFailureCallback_112, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t epochUs)> mOnSuccessCallback_112{ OnSuccessCallback_112, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_113{ OnFailureCallback_113, this }; |
| chip::Callback::Callback<void (*)(void * context, uint64_t epochUs)> mOnSuccessCallback_113{ OnSuccessCallback_113, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_114{ OnFailureCallback_114, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t epochS)> mOnSuccessCallback_114{ OnSuccessCallback_114, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_115{ OnFailureCallback_115, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t epochS)> mOnSuccessCallback_115{ OnSuccessCallback_115, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_116{ OnFailureCallback_116, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t epochS)> mOnSuccessCallback_116{ OnSuccessCallback_116, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_117{ OnFailureCallback_117, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t epochS)> mOnSuccessCallback_117{ OnSuccessCallback_117, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_118{ OnFailureCallback_118, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t epochS)> mOnSuccessCallback_118{ OnSuccessCallback_118, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_119{ OnFailureCallback_119, this }; |
| chip::Callback::Callback<void (*)(void * context, bool unsupported)> mOnSuccessCallback_119{ OnSuccessCallback_119, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_120{ OnFailureCallback_120, this }; |
| chip::Callback::Callback<void (*)(void * context, bool unsupported)> mOnSuccessCallback_120{ OnSuccessCallback_120, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_121{ OnFailureCallback_121, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_121{ OnSuccessCallback_121, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<TestCluster *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context) { (static_cast<TestCluster *>(context))->OnSuccessResponse_1(); } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t returnValue) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_2(returnValue); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint8_t returnValue) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_3(returnValue); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, uint8_t returnValue) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_4(returnValue); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool boolean) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_5(boolean); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, bool boolean) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_6(boolean); |
| } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, bool boolean) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_7(boolean); |
| } |
| |
| static void OnFailureCallback_8(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_8(status); |
| } |
| |
| static void OnSuccessCallback_8(void * context, bool boolean) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_8(boolean); |
| } |
| |
| static void OnFailureCallback_9(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_9(status); |
| } |
| |
| static void OnSuccessCallback_9(void * context, bool boolean) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_9(boolean); |
| } |
| |
| static void OnFailureCallback_10(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_10(status); |
| } |
| |
| static void OnSuccessCallback_10(void * context, uint8_t bitmap8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_10(bitmap8); |
| } |
| |
| static void OnFailureCallback_11(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_11(status); |
| } |
| |
| static void OnSuccessCallback_11(void * context, uint8_t bitmap8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_11(bitmap8); |
| } |
| |
| static void OnFailureCallback_12(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_12(status); |
| } |
| |
| static void OnSuccessCallback_12(void * context, uint8_t bitmap8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_12(bitmap8); |
| } |
| |
| static void OnFailureCallback_13(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_13(status); |
| } |
| |
| static void OnSuccessCallback_13(void * context, uint8_t bitmap8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_13(bitmap8); |
| } |
| |
| static void OnFailureCallback_14(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_14(status); |
| } |
| |
| static void OnSuccessCallback_14(void * context, uint8_t bitmap8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_14(bitmap8); |
| } |
| |
| static void OnFailureCallback_15(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_15(status); |
| } |
| |
| static void OnSuccessCallback_15(void * context, uint16_t bitmap16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_15(bitmap16); |
| } |
| |
| static void OnFailureCallback_16(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_16(status); |
| } |
| |
| static void OnSuccessCallback_16(void * context, uint16_t bitmap16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_16(bitmap16); |
| } |
| |
| static void OnFailureCallback_17(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_17(status); |
| } |
| |
| static void OnSuccessCallback_17(void * context, uint16_t bitmap16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_17(bitmap16); |
| } |
| |
| static void OnFailureCallback_18(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_18(status); |
| } |
| |
| static void OnSuccessCallback_18(void * context, uint16_t bitmap16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_18(bitmap16); |
| } |
| |
| static void OnFailureCallback_19(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_19(status); |
| } |
| |
| static void OnSuccessCallback_19(void * context, uint16_t bitmap16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_19(bitmap16); |
| } |
| |
| static void OnFailureCallback_20(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_20(status); |
| } |
| |
| static void OnSuccessCallback_20(void * context, uint32_t bitmap32) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_20(bitmap32); |
| } |
| |
| static void OnFailureCallback_21(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_21(status); |
| } |
| |
| static void OnSuccessCallback_21(void * context, uint32_t bitmap32) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_21(bitmap32); |
| } |
| |
| static void OnFailureCallback_22(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_22(status); |
| } |
| |
| static void OnSuccessCallback_22(void * context, uint32_t bitmap32) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_22(bitmap32); |
| } |
| |
| static void OnFailureCallback_23(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_23(status); |
| } |
| |
| static void OnSuccessCallback_23(void * context, uint32_t bitmap32) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_23(bitmap32); |
| } |
| |
| static void OnFailureCallback_24(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_24(status); |
| } |
| |
| static void OnSuccessCallback_24(void * context, uint32_t bitmap32) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_24(bitmap32); |
| } |
| |
| static void OnFailureCallback_25(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_25(status); |
| } |
| |
| static void OnSuccessCallback_25(void * context, uint64_t bitmap64) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_25(bitmap64); |
| } |
| |
| static void OnFailureCallback_26(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_26(status); |
| } |
| |
| static void OnSuccessCallback_26(void * context, uint64_t bitmap64) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_26(bitmap64); |
| } |
| |
| static void OnFailureCallback_27(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_27(status); |
| } |
| |
| static void OnSuccessCallback_27(void * context, uint64_t bitmap64) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_27(bitmap64); |
| } |
| |
| static void OnFailureCallback_28(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_28(status); |
| } |
| |
| static void OnSuccessCallback_28(void * context, uint64_t bitmap64) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_28(bitmap64); |
| } |
| |
| static void OnFailureCallback_29(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_29(status); |
| } |
| |
| static void OnSuccessCallback_29(void * context, uint64_t bitmap64) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_29(bitmap64); |
| } |
| |
| static void OnFailureCallback_30(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_30(status); |
| } |
| |
| static void OnSuccessCallback_30(void * context, uint8_t int8u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_30(int8u); |
| } |
| |
| static void OnFailureCallback_31(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_31(status); |
| } |
| |
| static void OnSuccessCallback_31(void * context, uint8_t int8u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_31(int8u); |
| } |
| |
| static void OnFailureCallback_32(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_32(status); |
| } |
| |
| static void OnSuccessCallback_32(void * context, uint8_t int8u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_32(int8u); |
| } |
| |
| static void OnFailureCallback_33(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_33(status); |
| } |
| |
| static void OnSuccessCallback_33(void * context, uint8_t int8u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_33(int8u); |
| } |
| |
| static void OnFailureCallback_34(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_34(status); |
| } |
| |
| static void OnSuccessCallback_34(void * context, uint8_t int8u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_34(int8u); |
| } |
| |
| static void OnFailureCallback_35(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_35(status); |
| } |
| |
| static void OnSuccessCallback_35(void * context, uint16_t int16u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_35(int16u); |
| } |
| |
| static void OnFailureCallback_36(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_36(status); |
| } |
| |
| static void OnSuccessCallback_36(void * context, uint16_t int16u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_36(int16u); |
| } |
| |
| static void OnFailureCallback_37(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_37(status); |
| } |
| |
| static void OnSuccessCallback_37(void * context, uint16_t int16u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_37(int16u); |
| } |
| |
| static void OnFailureCallback_38(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_38(status); |
| } |
| |
| static void OnSuccessCallback_38(void * context, uint16_t int16u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_38(int16u); |
| } |
| |
| static void OnFailureCallback_39(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_39(status); |
| } |
| |
| static void OnSuccessCallback_39(void * context, uint16_t int16u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_39(int16u); |
| } |
| |
| static void OnFailureCallback_40(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_40(status); |
| } |
| |
| static void OnSuccessCallback_40(void * context, uint32_t int32u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_40(int32u); |
| } |
| |
| static void OnFailureCallback_41(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_41(status); |
| } |
| |
| static void OnSuccessCallback_41(void * context, uint32_t int32u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_41(int32u); |
| } |
| |
| static void OnFailureCallback_42(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_42(status); |
| } |
| |
| static void OnSuccessCallback_42(void * context, uint32_t int32u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_42(int32u); |
| } |
| |
| static void OnFailureCallback_43(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_43(status); |
| } |
| |
| static void OnSuccessCallback_43(void * context, uint32_t int32u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_43(int32u); |
| } |
| |
| static void OnFailureCallback_44(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_44(status); |
| } |
| |
| static void OnSuccessCallback_44(void * context, uint32_t int32u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_44(int32u); |
| } |
| |
| static void OnFailureCallback_45(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_45(status); |
| } |
| |
| static void OnSuccessCallback_45(void * context, uint64_t int64u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_45(int64u); |
| } |
| |
| static void OnFailureCallback_46(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_46(status); |
| } |
| |
| static void OnSuccessCallback_46(void * context, uint64_t int64u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_46(int64u); |
| } |
| |
| static void OnFailureCallback_47(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_47(status); |
| } |
| |
| static void OnSuccessCallback_47(void * context, uint64_t int64u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_47(int64u); |
| } |
| |
| static void OnFailureCallback_48(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_48(status); |
| } |
| |
| static void OnSuccessCallback_48(void * context, uint64_t int64u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_48(int64u); |
| } |
| |
| static void OnFailureCallback_49(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_49(status); |
| } |
| |
| static void OnSuccessCallback_49(void * context, uint64_t int64u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_49(int64u); |
| } |
| |
| static void OnFailureCallback_50(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_50(status); |
| } |
| |
| static void OnSuccessCallback_50(void * context, int8_t int8s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_50(int8s); |
| } |
| |
| static void OnFailureCallback_51(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_51(status); |
| } |
| |
| static void OnSuccessCallback_51(void * context, int8_t int8s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_51(int8s); |
| } |
| |
| static void OnFailureCallback_52(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_52(status); |
| } |
| |
| static void OnSuccessCallback_52(void * context, int8_t int8s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_52(int8s); |
| } |
| |
| static void OnFailureCallback_53(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_53(status); |
| } |
| |
| static void OnSuccessCallback_53(void * context, int8_t int8s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_53(int8s); |
| } |
| |
| static void OnFailureCallback_54(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_54(status); |
| } |
| |
| static void OnSuccessCallback_54(void * context, int8_t int8s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_54(int8s); |
| } |
| |
| static void OnFailureCallback_55(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_55(status); |
| } |
| |
| static void OnSuccessCallback_55(void * context, int8_t int8s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_55(int8s); |
| } |
| |
| static void OnFailureCallback_56(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_56(status); |
| } |
| |
| static void OnSuccessCallback_56(void * context, int8_t int8s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_56(int8s); |
| } |
| |
| static void OnFailureCallback_57(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_57(status); |
| } |
| |
| static void OnSuccessCallback_57(void * context, int16_t int16s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_57(int16s); |
| } |
| |
| static void OnFailureCallback_58(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_58(status); |
| } |
| |
| static void OnSuccessCallback_58(void * context, int16_t int16s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_58(int16s); |
| } |
| |
| static void OnFailureCallback_59(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_59(status); |
| } |
| |
| static void OnSuccessCallback_59(void * context, int16_t int16s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_59(int16s); |
| } |
| |
| static void OnFailureCallback_60(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_60(status); |
| } |
| |
| static void OnSuccessCallback_60(void * context, int16_t int16s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_60(int16s); |
| } |
| |
| static void OnFailureCallback_61(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_61(status); |
| } |
| |
| static void OnSuccessCallback_61(void * context, int16_t int16s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_61(int16s); |
| } |
| |
| static void OnFailureCallback_62(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_62(status); |
| } |
| |
| static void OnSuccessCallback_62(void * context, int16_t int16s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_62(int16s); |
| } |
| |
| static void OnFailureCallback_63(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_63(status); |
| } |
| |
| static void OnSuccessCallback_63(void * context, int16_t int16s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_63(int16s); |
| } |
| |
| static void OnFailureCallback_64(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_64(status); |
| } |
| |
| static void OnSuccessCallback_64(void * context, int32_t int32s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_64(int32s); |
| } |
| |
| static void OnFailureCallback_65(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_65(status); |
| } |
| |
| static void OnSuccessCallback_65(void * context, int32_t int32s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_65(int32s); |
| } |
| |
| static void OnFailureCallback_66(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_66(status); |
| } |
| |
| static void OnSuccessCallback_66(void * context, int32_t int32s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_66(int32s); |
| } |
| |
| static void OnFailureCallback_67(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_67(status); |
| } |
| |
| static void OnSuccessCallback_67(void * context, int32_t int32s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_67(int32s); |
| } |
| |
| static void OnFailureCallback_68(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_68(status); |
| } |
| |
| static void OnSuccessCallback_68(void * context, int32_t int32s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_68(int32s); |
| } |
| |
| static void OnFailureCallback_69(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_69(status); |
| } |
| |
| static void OnSuccessCallback_69(void * context, int32_t int32s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_69(int32s); |
| } |
| |
| static void OnFailureCallback_70(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_70(status); |
| } |
| |
| static void OnSuccessCallback_70(void * context, int32_t int32s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_70(int32s); |
| } |
| |
| static void OnFailureCallback_71(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_71(status); |
| } |
| |
| static void OnSuccessCallback_71(void * context, int64_t int64s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_71(int64s); |
| } |
| |
| static void OnFailureCallback_72(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_72(status); |
| } |
| |
| static void OnSuccessCallback_72(void * context, int64_t int64s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_72(int64s); |
| } |
| |
| static void OnFailureCallback_73(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_73(status); |
| } |
| |
| static void OnSuccessCallback_73(void * context, int64_t int64s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_73(int64s); |
| } |
| |
| static void OnFailureCallback_74(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_74(status); |
| } |
| |
| static void OnSuccessCallback_74(void * context, int64_t int64s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_74(int64s); |
| } |
| |
| static void OnFailureCallback_75(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_75(status); |
| } |
| |
| static void OnSuccessCallback_75(void * context, int64_t int64s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_75(int64s); |
| } |
| |
| static void OnFailureCallback_76(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_76(status); |
| } |
| |
| static void OnSuccessCallback_76(void * context, int64_t int64s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_76(int64s); |
| } |
| |
| static void OnFailureCallback_77(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_77(status); |
| } |
| |
| static void OnSuccessCallback_77(void * context, int64_t int64s) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_77(int64s); |
| } |
| |
| static void OnFailureCallback_78(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_78(status); |
| } |
| |
| static void OnSuccessCallback_78(void * context, uint8_t enum8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_78(enum8); |
| } |
| |
| static void OnFailureCallback_79(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_79(status); |
| } |
| |
| static void OnSuccessCallback_79(void * context, uint8_t enum8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_79(enum8); |
| } |
| |
| static void OnFailureCallback_80(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_80(status); |
| } |
| |
| static void OnSuccessCallback_80(void * context, uint8_t enum8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_80(enum8); |
| } |
| |
| static void OnFailureCallback_81(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_81(status); |
| } |
| |
| static void OnSuccessCallback_81(void * context, uint8_t enum8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_81(enum8); |
| } |
| |
| static void OnFailureCallback_82(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_82(status); |
| } |
| |
| static void OnSuccessCallback_82(void * context, uint8_t enum8) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_82(enum8); |
| } |
| |
| static void OnFailureCallback_83(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_83(status); |
| } |
| |
| static void OnSuccessCallback_83(void * context, uint16_t enum16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_83(enum16); |
| } |
| |
| static void OnFailureCallback_84(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_84(status); |
| } |
| |
| static void OnSuccessCallback_84(void * context, uint16_t enum16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_84(enum16); |
| } |
| |
| static void OnFailureCallback_85(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_85(status); |
| } |
| |
| static void OnSuccessCallback_85(void * context, uint16_t enum16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_85(enum16); |
| } |
| |
| static void OnFailureCallback_86(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_86(status); |
| } |
| |
| static void OnSuccessCallback_86(void * context, uint16_t enum16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_86(enum16); |
| } |
| |
| static void OnFailureCallback_87(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_87(status); |
| } |
| |
| static void OnSuccessCallback_87(void * context, uint16_t enum16) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_87(enum16); |
| } |
| |
| static void OnFailureCallback_88(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_88(status); |
| } |
| |
| static void OnSuccessCallback_88(void * context, chip::ByteSpan octetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_88(octetString); |
| } |
| |
| static void OnFailureCallback_89(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_89(status); |
| } |
| |
| static void OnSuccessCallback_89(void * context, chip::ByteSpan octetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_89(octetString); |
| } |
| |
| static void OnFailureCallback_90(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_90(status); |
| } |
| |
| static void OnSuccessCallback_90(void * context, chip::ByteSpan octetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_90(octetString); |
| } |
| |
| static void OnFailureCallback_91(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_91(status); |
| } |
| |
| static void OnSuccessCallback_91(void * context, chip::ByteSpan octetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_91(octetString); |
| } |
| |
| static void OnFailureCallback_92(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_92(status); |
| } |
| |
| static void OnSuccessCallback_92(void * context, chip::ByteSpan octetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_92(octetString); |
| } |
| |
| static void OnFailureCallback_93(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_93(status); |
| } |
| |
| static void OnSuccessCallback_93(void * context, chip::ByteSpan octetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_93(octetString); |
| } |
| |
| static void OnFailureCallback_94(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_94(status); |
| } |
| |
| static void OnSuccessCallback_94(void * context, chip::ByteSpan longOctetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_94(longOctetString); |
| } |
| |
| static void OnFailureCallback_95(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_95(status); |
| } |
| |
| static void OnSuccessCallback_95(void * context, chip::ByteSpan longOctetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_95(longOctetString); |
| } |
| |
| static void OnFailureCallback_96(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_96(status); |
| } |
| |
| static void OnSuccessCallback_96(void * context, chip::ByteSpan longOctetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_96(longOctetString); |
| } |
| |
| static void OnFailureCallback_97(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_97(status); |
| } |
| |
| static void OnSuccessCallback_97(void * context, chip::ByteSpan longOctetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_97(longOctetString); |
| } |
| |
| static void OnFailureCallback_98(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_98(status); |
| } |
| |
| static void OnSuccessCallback_98(void * context, chip::ByteSpan charString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_98(charString); |
| } |
| |
| static void OnFailureCallback_99(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_99(status); |
| } |
| |
| static void OnSuccessCallback_99(void * context, chip::ByteSpan charString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_99(charString); |
| } |
| |
| static void OnFailureCallback_100(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_100(status); |
| } |
| |
| static void OnSuccessCallback_100(void * context, chip::ByteSpan charString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_100(charString); |
| } |
| |
| static void OnFailureCallback_101(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_101(status); |
| } |
| |
| static void OnSuccessCallback_101(void * context, chip::ByteSpan charString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_101(charString); |
| } |
| |
| static void OnFailureCallback_102(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_102(status); |
| } |
| |
| static void OnSuccessCallback_102(void * context, chip::ByteSpan longCharString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_102(longCharString); |
| } |
| |
| static void OnFailureCallback_103(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_103(status); |
| } |
| |
| static void OnSuccessCallback_103(void * context, chip::ByteSpan longCharString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_103(longCharString); |
| } |
| |
| static void OnFailureCallback_104(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_104(status); |
| } |
| |
| static void OnSuccessCallback_104(void * context, chip::ByteSpan longCharString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_104(longCharString); |
| } |
| |
| static void OnFailureCallback_105(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_105(status); |
| } |
| |
| static void OnSuccessCallback_105(void * context, chip::ByteSpan longCharString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_105(longCharString); |
| } |
| |
| static void OnFailureCallback_106(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_106(status); |
| } |
| |
| static void OnSuccessCallback_106(void * context, uint16_t count, uint8_t * listInt8u) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_106(count, listInt8u); |
| } |
| |
| static void OnFailureCallback_107(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_107(status); |
| } |
| |
| static void OnSuccessCallback_107(void * context, uint16_t count, chip::ByteSpan * listOctetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_107(count, listOctetString); |
| } |
| |
| static void OnFailureCallback_108(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_108(status); |
| } |
| |
| static void OnSuccessCallback_108(void * context, uint16_t count, _TestListStructOctet * listStructOctetString) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_108(count, listStructOctetString); |
| } |
| |
| static void OnFailureCallback_109(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_109(status); |
| } |
| |
| static void OnSuccessCallback_109(void * context, uint64_t epochUs) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_109(epochUs); |
| } |
| |
| static void OnFailureCallback_110(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_110(status); |
| } |
| |
| static void OnSuccessCallback_110(void * context, uint64_t epochUs) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_110(epochUs); |
| } |
| |
| static void OnFailureCallback_111(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_111(status); |
| } |
| |
| static void OnSuccessCallback_111(void * context, uint64_t epochUs) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_111(epochUs); |
| } |
| |
| static void OnFailureCallback_112(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_112(status); |
| } |
| |
| static void OnSuccessCallback_112(void * context, uint64_t epochUs) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_112(epochUs); |
| } |
| |
| static void OnFailureCallback_113(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_113(status); |
| } |
| |
| static void OnSuccessCallback_113(void * context, uint64_t epochUs) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_113(epochUs); |
| } |
| |
| static void OnFailureCallback_114(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_114(status); |
| } |
| |
| static void OnSuccessCallback_114(void * context, uint32_t epochS) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_114(epochS); |
| } |
| |
| static void OnFailureCallback_115(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_115(status); |
| } |
| |
| static void OnSuccessCallback_115(void * context, uint32_t epochS) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_115(epochS); |
| } |
| |
| static void OnFailureCallback_116(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_116(status); |
| } |
| |
| static void OnSuccessCallback_116(void * context, uint32_t epochS) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_116(epochS); |
| } |
| |
| static void OnFailureCallback_117(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_117(status); |
| } |
| |
| static void OnSuccessCallback_117(void * context, uint32_t epochS) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_117(epochS); |
| } |
| |
| static void OnFailureCallback_118(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_118(status); |
| } |
| |
| static void OnSuccessCallback_118(void * context, uint32_t epochS) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_118(epochS); |
| } |
| |
| static void OnFailureCallback_119(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_119(status); |
| } |
| |
| static void OnSuccessCallback_119(void * context, bool unsupported) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_119(unsupported); |
| } |
| |
| static void OnFailureCallback_120(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_120(status); |
| } |
| |
| static void OnSuccessCallback_120(void * context, bool unsupported) |
| { |
| (static_cast<TestCluster *>(context))->OnSuccessResponse_120(unsupported); |
| } |
| |
| static void OnFailureCallback_121(void * context, uint8_t status) |
| { |
| (static_cast<TestCluster *>(context))->OnFailureResponse_121(status); |
| } |
| |
| static void OnSuccessCallback_121(void * context) { (static_cast<TestCluster *>(context))->OnSuccessResponse_121(); } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestSendTestCommand_0() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Test(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestSendTestNotHandledCommand_1() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.TestNotHandled(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_1() { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestSendTestSpecificCommand_2() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.TestSpecific(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t returnValue) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("returnValue", returnValue, 7)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSendTestAddArgumentsCommand_3() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t arg1Argument = 3; |
| uint8_t arg2Argument = 17; |
| |
| return cluster.TestAddArguments(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), arg1Argument, arg2Argument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint8_t returnValue) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("returnValue", returnValue, 20)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSendFailingTestAddArgumentsCommand_4() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t arg1Argument = 250; |
| uint8_t arg2Argument = 6; |
| |
| return cluster.TestAddArguments(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel(), arg1Argument, arg2Argument); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_4(uint8_t returnValue) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestReadAttributeBooleanDefaultValue_5() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBoolean(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool boolean) |
| { |
| VerifyOrReturn(CheckValue<bool>("boolean", boolean, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBooleanTrue_6() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| bool booleanArgument = 1; |
| |
| return cluster.WriteAttributeBoolean(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel(), booleanArgument); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(bool boolean) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBooleanTrue_7() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBoolean(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(bool boolean) |
| { |
| VerifyOrReturn(CheckValue<bool>("boolean", boolean, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBooleanFalse_8() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| bool booleanArgument = 0; |
| |
| return cluster.WriteAttributeBoolean(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel(), booleanArgument); |
| } |
| |
| void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_8(bool boolean) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBooleanFalse_9() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBoolean(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel()); |
| } |
| |
| void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_9(bool boolean) |
| { |
| VerifyOrReturn(CheckValue<bool>("boolean", boolean, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeBitmap8DefaultValue_10() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap8(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel()); |
| } |
| |
| void OnFailureResponse_10(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_10(uint8_t bitmap8) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("bitmap8", bitmap8, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBitmap8MaxValue_11() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t bitmap8Argument = 255; |
| |
| return cluster.WriteAttributeBitmap8(mOnSuccessCallback_11.Cancel(), mOnFailureCallback_11.Cancel(), bitmap8Argument); |
| } |
| |
| void OnFailureResponse_11(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_11(uint8_t bitmap8) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBitmap8MaxValue_12() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap8(mOnSuccessCallback_12.Cancel(), mOnFailureCallback_12.Cancel()); |
| } |
| |
| void OnFailureResponse_12(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_12(uint8_t bitmap8) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("bitmap8", bitmap8, 255)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBitmap8MinValue_13() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t bitmap8Argument = 0; |
| |
| return cluster.WriteAttributeBitmap8(mOnSuccessCallback_13.Cancel(), mOnFailureCallback_13.Cancel(), bitmap8Argument); |
| } |
| |
| void OnFailureResponse_13(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_13(uint8_t bitmap8) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBitmap8MinValue_14() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap8(mOnSuccessCallback_14.Cancel(), mOnFailureCallback_14.Cancel()); |
| } |
| |
| void OnFailureResponse_14(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_14(uint8_t bitmap8) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("bitmap8", bitmap8, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeBitmap16DefaultValue_15() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap16(mOnSuccessCallback_15.Cancel(), mOnFailureCallback_15.Cancel()); |
| } |
| |
| void OnFailureResponse_15(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_15(uint16_t bitmap16) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("bitmap16", bitmap16, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBitmap16MaxValue_16() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t bitmap16Argument = 65535U; |
| |
| return cluster.WriteAttributeBitmap16(mOnSuccessCallback_16.Cancel(), mOnFailureCallback_16.Cancel(), bitmap16Argument); |
| } |
| |
| void OnFailureResponse_16(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_16(uint16_t bitmap16) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBitmap16MaxValue_17() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap16(mOnSuccessCallback_17.Cancel(), mOnFailureCallback_17.Cancel()); |
| } |
| |
| void OnFailureResponse_17(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_17(uint16_t bitmap16) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("bitmap16", bitmap16, 65535U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBitmap16MinValue_18() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t bitmap16Argument = 0U; |
| |
| return cluster.WriteAttributeBitmap16(mOnSuccessCallback_18.Cancel(), mOnFailureCallback_18.Cancel(), bitmap16Argument); |
| } |
| |
| void OnFailureResponse_18(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_18(uint16_t bitmap16) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBitmap16MinValue_19() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap16(mOnSuccessCallback_19.Cancel(), mOnFailureCallback_19.Cancel()); |
| } |
| |
| void OnFailureResponse_19(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_19(uint16_t bitmap16) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("bitmap16", bitmap16, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeBitmap32DefaultValue_20() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap32(mOnSuccessCallback_20.Cancel(), mOnFailureCallback_20.Cancel()); |
| } |
| |
| void OnFailureResponse_20(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_20(uint32_t bitmap32) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("bitmap32", bitmap32, 0UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBitmap32MaxValue_21() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint32_t bitmap32Argument = 4294967295UL; |
| |
| return cluster.WriteAttributeBitmap32(mOnSuccessCallback_21.Cancel(), mOnFailureCallback_21.Cancel(), bitmap32Argument); |
| } |
| |
| void OnFailureResponse_21(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_21(uint32_t bitmap32) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBitmap32MaxValue_22() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap32(mOnSuccessCallback_22.Cancel(), mOnFailureCallback_22.Cancel()); |
| } |
| |
| void OnFailureResponse_22(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_22(uint32_t bitmap32) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("bitmap32", bitmap32, 4294967295UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBitmap32MinValue_23() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint32_t bitmap32Argument = 0UL; |
| |
| return cluster.WriteAttributeBitmap32(mOnSuccessCallback_23.Cancel(), mOnFailureCallback_23.Cancel(), bitmap32Argument); |
| } |
| |
| void OnFailureResponse_23(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_23(uint32_t bitmap32) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBitmap32MinValue_24() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap32(mOnSuccessCallback_24.Cancel(), mOnFailureCallback_24.Cancel()); |
| } |
| |
| void OnFailureResponse_24(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_24(uint32_t bitmap32) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("bitmap32", bitmap32, 0UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeBitmap64DefaultValue_25() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap64(mOnSuccessCallback_25.Cancel(), mOnFailureCallback_25.Cancel()); |
| } |
| |
| void OnFailureResponse_25(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_25(uint64_t bitmap64) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("bitmap64", bitmap64, 0ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBitmap64MaxValue_26() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint64_t bitmap64Argument = 18446744073709551615ULL; |
| |
| return cluster.WriteAttributeBitmap64(mOnSuccessCallback_26.Cancel(), mOnFailureCallback_26.Cancel(), bitmap64Argument); |
| } |
| |
| void OnFailureResponse_26(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_26(uint64_t bitmap64) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBitmap64MaxValue_27() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap64(mOnSuccessCallback_27.Cancel(), mOnFailureCallback_27.Cancel()); |
| } |
| |
| void OnFailureResponse_27(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_27(uint64_t bitmap64) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("bitmap64", bitmap64, 18446744073709551615ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeBitmap64MinValue_28() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint64_t bitmap64Argument = 0ULL; |
| |
| return cluster.WriteAttributeBitmap64(mOnSuccessCallback_28.Cancel(), mOnFailureCallback_28.Cancel(), bitmap64Argument); |
| } |
| |
| void OnFailureResponse_28(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_28(uint64_t bitmap64) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeBitmap64MinValue_29() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeBitmap64(mOnSuccessCallback_29.Cancel(), mOnFailureCallback_29.Cancel()); |
| } |
| |
| void OnFailureResponse_29(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_29(uint64_t bitmap64) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("bitmap64", bitmap64, 0ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt8uDefaultValue_30() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt8u(mOnSuccessCallback_30.Cancel(), mOnFailureCallback_30.Cancel()); |
| } |
| |
| void OnFailureResponse_30(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_30(uint8_t int8u) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("int8u", int8u, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt8uMaxValue_31() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t int8uArgument = 255; |
| |
| return cluster.WriteAttributeInt8u(mOnSuccessCallback_31.Cancel(), mOnFailureCallback_31.Cancel(), int8uArgument); |
| } |
| |
| void OnFailureResponse_31(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_31(uint8_t int8u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt8uMaxValue_32() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt8u(mOnSuccessCallback_32.Cancel(), mOnFailureCallback_32.Cancel()); |
| } |
| |
| void OnFailureResponse_32(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_32(uint8_t int8u) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("int8u", int8u, 255)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt8uMinValue_33() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t int8uArgument = 0; |
| |
| return cluster.WriteAttributeInt8u(mOnSuccessCallback_33.Cancel(), mOnFailureCallback_33.Cancel(), int8uArgument); |
| } |
| |
| void OnFailureResponse_33(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_33(uint8_t int8u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt8uMinValue_34() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt8u(mOnSuccessCallback_34.Cancel(), mOnFailureCallback_34.Cancel()); |
| } |
| |
| void OnFailureResponse_34(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_34(uint8_t int8u) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("int8u", int8u, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt16uDefaultValue_35() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt16u(mOnSuccessCallback_35.Cancel(), mOnFailureCallback_35.Cancel()); |
| } |
| |
| void OnFailureResponse_35(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_35(uint16_t int16u) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("int16u", int16u, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt16uMaxValue_36() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t int16uArgument = 65535U; |
| |
| return cluster.WriteAttributeInt16u(mOnSuccessCallback_36.Cancel(), mOnFailureCallback_36.Cancel(), int16uArgument); |
| } |
| |
| void OnFailureResponse_36(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_36(uint16_t int16u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt16uMaxValue_37() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt16u(mOnSuccessCallback_37.Cancel(), mOnFailureCallback_37.Cancel()); |
| } |
| |
| void OnFailureResponse_37(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_37(uint16_t int16u) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("int16u", int16u, 65535U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt16uMinValue_38() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t int16uArgument = 0U; |
| |
| return cluster.WriteAttributeInt16u(mOnSuccessCallback_38.Cancel(), mOnFailureCallback_38.Cancel(), int16uArgument); |
| } |
| |
| void OnFailureResponse_38(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_38(uint16_t int16u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt16uMinValue_39() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt16u(mOnSuccessCallback_39.Cancel(), mOnFailureCallback_39.Cancel()); |
| } |
| |
| void OnFailureResponse_39(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_39(uint16_t int16u) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("int16u", int16u, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt32uDefaultValue_40() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32u(mOnSuccessCallback_40.Cancel(), mOnFailureCallback_40.Cancel()); |
| } |
| |
| void OnFailureResponse_40(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_40(uint32_t int32u) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("int32u", int32u, 0UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt32uMaxValue_41() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint32_t int32uArgument = 4294967295UL; |
| |
| return cluster.WriteAttributeInt32u(mOnSuccessCallback_41.Cancel(), mOnFailureCallback_41.Cancel(), int32uArgument); |
| } |
| |
| void OnFailureResponse_41(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_41(uint32_t int32u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt32uMaxValue_42() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32u(mOnSuccessCallback_42.Cancel(), mOnFailureCallback_42.Cancel()); |
| } |
| |
| void OnFailureResponse_42(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_42(uint32_t int32u) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("int32u", int32u, 4294967295UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt32uMinValue_43() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint32_t int32uArgument = 0UL; |
| |
| return cluster.WriteAttributeInt32u(mOnSuccessCallback_43.Cancel(), mOnFailureCallback_43.Cancel(), int32uArgument); |
| } |
| |
| void OnFailureResponse_43(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_43(uint32_t int32u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt32uMinValue_44() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32u(mOnSuccessCallback_44.Cancel(), mOnFailureCallback_44.Cancel()); |
| } |
| |
| void OnFailureResponse_44(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_44(uint32_t int32u) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("int32u", int32u, 0UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt64uDefaultValue_45() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt64u(mOnSuccessCallback_45.Cancel(), mOnFailureCallback_45.Cancel()); |
| } |
| |
| void OnFailureResponse_45(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_45(uint64_t int64u) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("int64u", int64u, 0ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt64uMaxValue_46() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint64_t int64uArgument = 18446744073709551615ULL; |
| |
| return cluster.WriteAttributeInt64u(mOnSuccessCallback_46.Cancel(), mOnFailureCallback_46.Cancel(), int64uArgument); |
| } |
| |
| void OnFailureResponse_46(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_46(uint64_t int64u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt64uMaxValue_47() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt64u(mOnSuccessCallback_47.Cancel(), mOnFailureCallback_47.Cancel()); |
| } |
| |
| void OnFailureResponse_47(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_47(uint64_t int64u) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("int64u", int64u, 18446744073709551615ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt64uMinValue_48() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint64_t int64uArgument = 0ULL; |
| |
| return cluster.WriteAttributeInt64u(mOnSuccessCallback_48.Cancel(), mOnFailureCallback_48.Cancel(), int64uArgument); |
| } |
| |
| void OnFailureResponse_48(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_48(uint64_t int64u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt64uMinValue_49() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt64u(mOnSuccessCallback_49.Cancel(), mOnFailureCallback_49.Cancel()); |
| } |
| |
| void OnFailureResponse_49(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_49(uint64_t int64u) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("int64u", int64u, 0ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt8sDefaultValue_50() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt8s(mOnSuccessCallback_50.Cancel(), mOnFailureCallback_50.Cancel()); |
| } |
| |
| void OnFailureResponse_50(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_50(int8_t int8s) |
| { |
| VerifyOrReturn(CheckValue<int8_t>("int8s", int8s, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt8sMaxValue_51() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int8_t int8sArgument = 127; |
| |
| return cluster.WriteAttributeInt8s(mOnSuccessCallback_51.Cancel(), mOnFailureCallback_51.Cancel(), int8sArgument); |
| } |
| |
| void OnFailureResponse_51(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_51(int8_t int8s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt8sMaxValue_52() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt8s(mOnSuccessCallback_52.Cancel(), mOnFailureCallback_52.Cancel()); |
| } |
| |
| void OnFailureResponse_52(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_52(int8_t int8s) |
| { |
| VerifyOrReturn(CheckValue<int8_t>("int8s", int8s, 127)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt8sMinValue_53() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int8_t int8sArgument = -128; |
| |
| return cluster.WriteAttributeInt8s(mOnSuccessCallback_53.Cancel(), mOnFailureCallback_53.Cancel(), int8sArgument); |
| } |
| |
| void OnFailureResponse_53(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_53(int8_t int8s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt8sMinValue_54() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt8s(mOnSuccessCallback_54.Cancel(), mOnFailureCallback_54.Cancel()); |
| } |
| |
| void OnFailureResponse_54(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_54(int8_t int8s) |
| { |
| VerifyOrReturn(CheckValue<int8_t>("int8s", int8s, -128)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt8sDefaultValue_55() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int8_t int8sArgument = 0; |
| |
| return cluster.WriteAttributeInt8s(mOnSuccessCallback_55.Cancel(), mOnFailureCallback_55.Cancel(), int8sArgument); |
| } |
| |
| void OnFailureResponse_55(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_55(int8_t int8s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt8sDefaultValue_56() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt8s(mOnSuccessCallback_56.Cancel(), mOnFailureCallback_56.Cancel()); |
| } |
| |
| void OnFailureResponse_56(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_56(int8_t int8s) |
| { |
| VerifyOrReturn(CheckValue<int8_t>("int8s", int8s, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt16sDefaultValue_57() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt16s(mOnSuccessCallback_57.Cancel(), mOnFailureCallback_57.Cancel()); |
| } |
| |
| void OnFailureResponse_57(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_57(int16_t int16s) |
| { |
| VerifyOrReturn(CheckValue<int16_t>("int16s", int16s, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt16sMaxValue_58() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int16_t int16sArgument = 32767; |
| |
| return cluster.WriteAttributeInt16s(mOnSuccessCallback_58.Cancel(), mOnFailureCallback_58.Cancel(), int16sArgument); |
| } |
| |
| void OnFailureResponse_58(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_58(int16_t int16s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt16sMaxValue_59() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt16s(mOnSuccessCallback_59.Cancel(), mOnFailureCallback_59.Cancel()); |
| } |
| |
| void OnFailureResponse_59(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_59(int16_t int16s) |
| { |
| VerifyOrReturn(CheckValue<int16_t>("int16s", int16s, 32767)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt16sMinValue_60() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int16_t int16sArgument = -32768; |
| |
| return cluster.WriteAttributeInt16s(mOnSuccessCallback_60.Cancel(), mOnFailureCallback_60.Cancel(), int16sArgument); |
| } |
| |
| void OnFailureResponse_60(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_60(int16_t int16s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt16sMinValue_61() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt16s(mOnSuccessCallback_61.Cancel(), mOnFailureCallback_61.Cancel()); |
| } |
| |
| void OnFailureResponse_61(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_61(int16_t int16s) |
| { |
| VerifyOrReturn(CheckValue<int16_t>("int16s", int16s, -32768)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt16sDefaultValue_62() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int16_t int16sArgument = 0; |
| |
| return cluster.WriteAttributeInt16s(mOnSuccessCallback_62.Cancel(), mOnFailureCallback_62.Cancel(), int16sArgument); |
| } |
| |
| void OnFailureResponse_62(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_62(int16_t int16s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt16sDefaultValue_63() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt16s(mOnSuccessCallback_63.Cancel(), mOnFailureCallback_63.Cancel()); |
| } |
| |
| void OnFailureResponse_63(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_63(int16_t int16s) |
| { |
| VerifyOrReturn(CheckValue<int16_t>("int16s", int16s, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt32sDefaultValue_64() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32s(mOnSuccessCallback_64.Cancel(), mOnFailureCallback_64.Cancel()); |
| } |
| |
| void OnFailureResponse_64(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_64(int32_t int32s) |
| { |
| VerifyOrReturn(CheckValue<int32_t>("int32s", int32s, 0L)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt32sMaxValue_65() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int32_t int32sArgument = 2147483647L; |
| |
| return cluster.WriteAttributeInt32s(mOnSuccessCallback_65.Cancel(), mOnFailureCallback_65.Cancel(), int32sArgument); |
| } |
| |
| void OnFailureResponse_65(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_65(int32_t int32s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt32sMaxValue_66() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32s(mOnSuccessCallback_66.Cancel(), mOnFailureCallback_66.Cancel()); |
| } |
| |
| void OnFailureResponse_66(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_66(int32_t int32s) |
| { |
| VerifyOrReturn(CheckValue<int32_t>("int32s", int32s, 2147483647L)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt32sMinValue_67() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int32_t int32sArgument = -2147483648L; |
| |
| return cluster.WriteAttributeInt32s(mOnSuccessCallback_67.Cancel(), mOnFailureCallback_67.Cancel(), int32sArgument); |
| } |
| |
| void OnFailureResponse_67(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_67(int32_t int32s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt32sMinValue_68() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32s(mOnSuccessCallback_68.Cancel(), mOnFailureCallback_68.Cancel()); |
| } |
| |
| void OnFailureResponse_68(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_68(int32_t int32s) |
| { |
| VerifyOrReturn(CheckValue<int32_t>("int32s", int32s, -2147483648L)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt32sDefaultValue_69() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int32_t int32sArgument = 0L; |
| |
| return cluster.WriteAttributeInt32s(mOnSuccessCallback_69.Cancel(), mOnFailureCallback_69.Cancel(), int32sArgument); |
| } |
| |
| void OnFailureResponse_69(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_69(int32_t int32s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt32sDefaultValue_70() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32s(mOnSuccessCallback_70.Cancel(), mOnFailureCallback_70.Cancel()); |
| } |
| |
| void OnFailureResponse_70(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_70(int32_t int32s) |
| { |
| VerifyOrReturn(CheckValue<int32_t>("int32s", int32s, 0L)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt64sDefaultValue_71() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt64s(mOnSuccessCallback_71.Cancel(), mOnFailureCallback_71.Cancel()); |
| } |
| |
| void OnFailureResponse_71(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_71(int64_t int64s) |
| { |
| VerifyOrReturn(CheckValue<int64_t>("int64s", int64s, 0LL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt64sMaxValue_72() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int64_t int64sArgument = 9223372036854775807LL; |
| |
| return cluster.WriteAttributeInt64s(mOnSuccessCallback_72.Cancel(), mOnFailureCallback_72.Cancel(), int64sArgument); |
| } |
| |
| void OnFailureResponse_72(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_72(int64_t int64s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt64sMaxValue_73() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt64s(mOnSuccessCallback_73.Cancel(), mOnFailureCallback_73.Cancel()); |
| } |
| |
| void OnFailureResponse_73(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_73(int64_t int64s) |
| { |
| VerifyOrReturn(CheckValue<int64_t>("int64s", int64s, 9223372036854775807LL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt64sMinValue_74() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int64_t int64sArgument = -9223372036854775807LL; |
| |
| return cluster.WriteAttributeInt64s(mOnSuccessCallback_74.Cancel(), mOnFailureCallback_74.Cancel(), int64sArgument); |
| } |
| |
| void OnFailureResponse_74(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_74(int64_t int64s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt64sMinValue_75() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt64s(mOnSuccessCallback_75.Cancel(), mOnFailureCallback_75.Cancel()); |
| } |
| |
| void OnFailureResponse_75(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_75(int64_t int64s) |
| { |
| VerifyOrReturn(CheckValue<int64_t>("int64s", int64s, -9223372036854775807LL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeInt64sDefaultValue_76() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int64_t int64sArgument = 0LL; |
| |
| return cluster.WriteAttributeInt64s(mOnSuccessCallback_76.Cancel(), mOnFailureCallback_76.Cancel(), int64sArgument); |
| } |
| |
| void OnFailureResponse_76(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_76(int64_t int64s) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt64sDefaultValue_77() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt64s(mOnSuccessCallback_77.Cancel(), mOnFailureCallback_77.Cancel()); |
| } |
| |
| void OnFailureResponse_77(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_77(int64_t int64s) |
| { |
| VerifyOrReturn(CheckValue<int64_t>("int64s", int64s, 0LL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeEnum8DefaultValue_78() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEnum8(mOnSuccessCallback_78.Cancel(), mOnFailureCallback_78.Cancel()); |
| } |
| |
| void OnFailureResponse_78(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_78(uint8_t enum8) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("enum8", enum8, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeEnum8MaxValue_79() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t enum8Argument = 255; |
| |
| return cluster.WriteAttributeEnum8(mOnSuccessCallback_79.Cancel(), mOnFailureCallback_79.Cancel(), enum8Argument); |
| } |
| |
| void OnFailureResponse_79(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_79(uint8_t enum8) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeEnum8MaxValue_80() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEnum8(mOnSuccessCallback_80.Cancel(), mOnFailureCallback_80.Cancel()); |
| } |
| |
| void OnFailureResponse_80(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_80(uint8_t enum8) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("enum8", enum8, 255)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeEnum8MinValue_81() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t enum8Argument = 0; |
| |
| return cluster.WriteAttributeEnum8(mOnSuccessCallback_81.Cancel(), mOnFailureCallback_81.Cancel(), enum8Argument); |
| } |
| |
| void OnFailureResponse_81(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_81(uint8_t enum8) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeEnum8MinValue_82() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEnum8(mOnSuccessCallback_82.Cancel(), mOnFailureCallback_82.Cancel()); |
| } |
| |
| void OnFailureResponse_82(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_82(uint8_t enum8) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("enum8", enum8, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeEnum16DefaultValue_83() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEnum16(mOnSuccessCallback_83.Cancel(), mOnFailureCallback_83.Cancel()); |
| } |
| |
| void OnFailureResponse_83(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_83(uint16_t enum16) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("enum16", enum16, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeEnum16MaxValue_84() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t enum16Argument = 65535U; |
| |
| return cluster.WriteAttributeEnum16(mOnSuccessCallback_84.Cancel(), mOnFailureCallback_84.Cancel(), enum16Argument); |
| } |
| |
| void OnFailureResponse_84(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_84(uint16_t enum16) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeEnum16MaxValue_85() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEnum16(mOnSuccessCallback_85.Cancel(), mOnFailureCallback_85.Cancel()); |
| } |
| |
| void OnFailureResponse_85(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_85(uint16_t enum16) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("enum16", enum16, 65535U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeEnum16MinValue_86() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t enum16Argument = 0U; |
| |
| return cluster.WriteAttributeEnum16(mOnSuccessCallback_86.Cancel(), mOnFailureCallback_86.Cancel(), enum16Argument); |
| } |
| |
| void OnFailureResponse_86(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_86(uint16_t enum16) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeEnum16MinValue_87() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEnum16(mOnSuccessCallback_87.Cancel(), mOnFailureCallback_87.Cancel()); |
| } |
| |
| void OnFailureResponse_87(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_87(uint16_t enum16) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("enum16", enum16, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeOctetStringDefaultValue_88() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOctetString(mOnSuccessCallback_88.Cancel(), mOnFailureCallback_88.Cancel()); |
| } |
| |
| void OnFailureResponse_88(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_88(chip::ByteSpan octetString) |
| { |
| VerifyOrReturn(CheckValueAsString("octetString", octetString, "")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeOctetString_89() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan octetStringArgument = chip::ByteSpan(chip::Uint8::from_const_char("TestValue"), strlen("TestValue")); |
| |
| return cluster.WriteAttributeOctetString(mOnSuccessCallback_89.Cancel(), mOnFailureCallback_89.Cancel(), |
| octetStringArgument); |
| } |
| |
| void OnFailureResponse_89(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_89(chip::ByteSpan octetString) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeOctetString_90() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOctetString(mOnSuccessCallback_90.Cancel(), mOnFailureCallback_90.Cancel()); |
| } |
| |
| void OnFailureResponse_90(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_90(chip::ByteSpan octetString) |
| { |
| VerifyOrReturn(CheckValueAsString("octetString", octetString, "TestValue")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeOctetString_91() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan octetStringArgument = |
| chip::ByteSpan(chip::Uint8::from_const_char("TestValueLongerThan10"), strlen("TestValueLongerThan10")); |
| |
| return cluster.WriteAttributeOctetString(mOnSuccessCallback_91.Cancel(), mOnFailureCallback_91.Cancel(), |
| octetStringArgument); |
| } |
| |
| void OnFailureResponse_91(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_91(chip::ByteSpan octetString) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestReadAttributeOctetString_92() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOctetString(mOnSuccessCallback_92.Cancel(), mOnFailureCallback_92.Cancel()); |
| } |
| |
| void OnFailureResponse_92(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_92(chip::ByteSpan octetString) |
| { |
| VerifyOrReturn(CheckValueAsString("octetString", octetString, "TestValue")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeOctetString_93() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan octetStringArgument = chip::ByteSpan(chip::Uint8::from_const_char(""), strlen("")); |
| |
| return cluster.WriteAttributeOctetString(mOnSuccessCallback_93.Cancel(), mOnFailureCallback_93.Cancel(), |
| octetStringArgument); |
| } |
| |
| void OnFailureResponse_93(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_93(chip::ByteSpan octetString) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeLongOctetStringDefaultValue_94() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeLongOctetString(mOnSuccessCallback_94.Cancel(), mOnFailureCallback_94.Cancel()); |
| } |
| |
| void OnFailureResponse_94(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_94(chip::ByteSpan longOctetString) |
| { |
| VerifyOrReturn(CheckValueAsString("longOctetString", longOctetString, "")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeLongOctetString_95() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan longOctetStringArgument = chip::ByteSpan( |
| chip::Uint8::from_const_char( |
| "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" |
| "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" |
| "111111111111111111111111111111111111111111111111111111111111111111111111"), |
| strlen("111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" |
| "111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" |
| "111111111111111111111111111111111111111111111111111111111111111111111111111111")); |
| |
| return cluster.WriteAttributeLongOctetString(mOnSuccessCallback_95.Cancel(), mOnFailureCallback_95.Cancel(), |
| longOctetStringArgument); |
| } |
| |
| void OnFailureResponse_95(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_95(chip::ByteSpan longOctetString) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeLongOctetString_96() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeLongOctetString(mOnSuccessCallback_96.Cancel(), mOnFailureCallback_96.Cancel()); |
| } |
| |
| void OnFailureResponse_96(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_96(chip::ByteSpan longOctetString) |
| { |
| VerifyOrReturn(CheckValueAsString( |
| "longOctetString", longOctetString, |
| "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" |
| "1111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111111" |
| "1111111111111111111111111111111111111111111111111111111111111111")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeLongOctetString_97() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan longOctetStringArgument = chip::ByteSpan(chip::Uint8::from_const_char(""), strlen("")); |
| |
| return cluster.WriteAttributeLongOctetString(mOnSuccessCallback_97.Cancel(), mOnFailureCallback_97.Cancel(), |
| longOctetStringArgument); |
| } |
| |
| void OnFailureResponse_97(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_97(chip::ByteSpan longOctetString) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeCharStringDefaultValue_98() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeCharString(mOnSuccessCallback_98.Cancel(), mOnFailureCallback_98.Cancel()); |
| } |
| |
| void OnFailureResponse_98(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_98(chip::ByteSpan charString) |
| { |
| VerifyOrReturn(CheckValueAsString("charString", charString, "")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeCharString_99() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan charStringArgument = chip::ByteSpan(chip::Uint8::from_const_char("☉T☉"), strlen("☉T☉")); |
| |
| return cluster.WriteAttributeCharString(mOnSuccessCallback_99.Cancel(), mOnFailureCallback_99.Cancel(), charStringArgument); |
| } |
| |
| void OnFailureResponse_99(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_99(chip::ByteSpan charString) { NextTest(); } |
| |
| CHIP_ERROR TestWriteAttributeCharStringValueTooLong_100() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan charStringArgument = |
| chip::ByteSpan(chip::Uint8::from_const_char("☉TestValueLongerThan10☉"), strlen("☉TestValueLongerThan10☉")); |
| |
| return cluster.WriteAttributeCharString(mOnSuccessCallback_100.Cancel(), mOnFailureCallback_100.Cancel(), |
| charStringArgument); |
| } |
| |
| void OnFailureResponse_100(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_100(chip::ByteSpan charString) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestWriteAttributeCharStringEmpty_101() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan charStringArgument = chip::ByteSpan(chip::Uint8::from_const_char(""), strlen("")); |
| |
| return cluster.WriteAttributeCharString(mOnSuccessCallback_101.Cancel(), mOnFailureCallback_101.Cancel(), |
| charStringArgument); |
| } |
| |
| void OnFailureResponse_101(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_101(chip::ByteSpan charString) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeLongCharStringDefaultValue_102() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeLongCharString(mOnSuccessCallback_102.Cancel(), mOnFailureCallback_102.Cancel()); |
| } |
| |
| void OnFailureResponse_102(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_102(chip::ByteSpan longCharString) |
| { |
| VerifyOrReturn(CheckValueAsString("longCharString", longCharString, "")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeLongCharString_103() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan longCharStringArgument = chip::ByteSpan( |
| chip::Uint8::from_const_char( |
| "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" |
| "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" |
| "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉"), |
| strlen("☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" |
| "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" |
| "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉")); |
| |
| return cluster.WriteAttributeLongCharString(mOnSuccessCallback_103.Cancel(), mOnFailureCallback_103.Cancel(), |
| longCharStringArgument); |
| } |
| |
| void OnFailureResponse_103(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_103(chip::ByteSpan longCharString) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeLongCharString_104() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeLongCharString(mOnSuccessCallback_104.Cancel(), mOnFailureCallback_104.Cancel()); |
| } |
| |
| void OnFailureResponse_104(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_104(chip::ByteSpan longCharString) |
| { |
| VerifyOrReturn(CheckValueAsString( |
| "longCharString", longCharString, |
| "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" |
| "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉" |
| "☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉☉")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeLongCharString_105() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| chip::ByteSpan longCharStringArgument = chip::ByteSpan(chip::Uint8::from_const_char(""), strlen("")); |
| |
| return cluster.WriteAttributeLongCharString(mOnSuccessCallback_105.Cancel(), mOnFailureCallback_105.Cancel(), |
| longCharStringArgument); |
| } |
| |
| void OnFailureResponse_105(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_105(chip::ByteSpan longCharString) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeList_106() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeListInt8u(mOnSuccessCallback_106.Cancel(), mOnFailureCallback_106.Cancel()); |
| } |
| |
| void OnFailureResponse_106(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_106(uint16_t count, uint8_t * listInt8u) |
| { |
| VerifyOrReturn(CheckValueAsList("listInt8u", count, 4)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeListOctetString_107() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeListOctetString(mOnSuccessCallback_107.Cancel(), mOnFailureCallback_107.Cancel()); |
| } |
| |
| void OnFailureResponse_107(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_107(uint16_t count, chip::ByteSpan * listOctetString) |
| { |
| VerifyOrReturn(CheckValueAsList("listOctetString", count, 4)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeListStructOctetString_108() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeListStructOctetString(mOnSuccessCallback_108.Cancel(), mOnFailureCallback_108.Cancel()); |
| } |
| |
| void OnFailureResponse_108(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_108(uint16_t count, _TestListStructOctet * listStructOctetString) |
| { |
| VerifyOrReturn(CheckValueAsList("listStructOctetString", count, 4)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeEpochUsDefaultValue_109() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEpochUs(mOnSuccessCallback_109.Cancel(), mOnFailureCallback_109.Cancel()); |
| } |
| |
| void OnFailureResponse_109(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_109(uint64_t epochUs) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("epochUs", epochUs, 0ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeEpochUsMaxValue_110() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint64_t epochUsArgument = 18446744073709551615ULL; |
| |
| return cluster.WriteAttributeEpochUs(mOnSuccessCallback_110.Cancel(), mOnFailureCallback_110.Cancel(), epochUsArgument); |
| } |
| |
| void OnFailureResponse_110(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_110(uint64_t epochUs) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeEpochUsMaxValue_111() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEpochUs(mOnSuccessCallback_111.Cancel(), mOnFailureCallback_111.Cancel()); |
| } |
| |
| void OnFailureResponse_111(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_111(uint64_t epochUs) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("epochUs", epochUs, 18446744073709551615ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeEpochUsMinValue_112() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint64_t epochUsArgument = 0ULL; |
| |
| return cluster.WriteAttributeEpochUs(mOnSuccessCallback_112.Cancel(), mOnFailureCallback_112.Cancel(), epochUsArgument); |
| } |
| |
| void OnFailureResponse_112(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_112(uint64_t epochUs) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeEpochUsMinValue_113() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEpochUs(mOnSuccessCallback_113.Cancel(), mOnFailureCallback_113.Cancel()); |
| } |
| |
| void OnFailureResponse_113(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_113(uint64_t epochUs) |
| { |
| VerifyOrReturn(CheckValue<uint64_t>("epochUs", epochUs, 0ULL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeEpochSDefaultValue_114() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEpochS(mOnSuccessCallback_114.Cancel(), mOnFailureCallback_114.Cancel()); |
| } |
| |
| void OnFailureResponse_114(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_114(uint32_t epochS) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("epochS", epochS, 0UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeEpochSMaxValue_115() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint32_t epochSArgument = 4294967295UL; |
| |
| return cluster.WriteAttributeEpochS(mOnSuccessCallback_115.Cancel(), mOnFailureCallback_115.Cancel(), epochSArgument); |
| } |
| |
| void OnFailureResponse_115(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_115(uint32_t epochS) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeEpochSMaxValue_116() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEpochS(mOnSuccessCallback_116.Cancel(), mOnFailureCallback_116.Cancel()); |
| } |
| |
| void OnFailureResponse_116(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_116(uint32_t epochS) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("epochS", epochS, 4294967295UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAttributeEpochSMinValue_117() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint32_t epochSArgument = 0UL; |
| |
| return cluster.WriteAttributeEpochS(mOnSuccessCallback_117.Cancel(), mOnFailureCallback_117.Cancel(), epochSArgument); |
| } |
| |
| void OnFailureResponse_117(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_117(uint32_t epochS) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeEpochSMinValue_118() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEpochS(mOnSuccessCallback_118.Cancel(), mOnFailureCallback_118.Cancel()); |
| } |
| |
| void OnFailureResponse_118(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_118(uint32_t epochS) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("epochS", epochS, 0UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeUnsupported_119() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeUnsupported(mOnSuccessCallback_119.Cancel(), mOnFailureCallback_119.Cancel()); |
| } |
| |
| void OnFailureResponse_119(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_119(bool unsupported) |
| { |
| VerifyOrReturn(CheckValue<bool>("unsupported", unsupported, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteattributeUnsupported_120() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| bool unsupportedArgument = 0; |
| |
| return cluster.WriteAttributeUnsupported(mOnSuccessCallback_120.Cancel(), mOnFailureCallback_120.Cancel(), |
| unsupportedArgument); |
| } |
| |
| void OnFailureResponse_120(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_120(bool unsupported) { NextTest(); } |
| |
| CHIP_ERROR TestSendTestCommandToUnsupportedEndpoint_121() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 200); |
| |
| return cluster.Test(mOnSuccessCallback_121.Cancel(), mOnFailureCallback_121.Cancel()); |
| } |
| |
| void OnFailureResponse_121(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_121() { ThrowSuccessResponse(); } |
| }; |
| |
| class TestConstraints : public TestCommand |
| { |
| public: |
| TestConstraints() : TestCommand("TestConstraints"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TestConstraints\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TestConstraints\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Write attribute INT32U Value\n"); |
| err = TestWriteAttributeInt32uValue_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute INT32U Value MinValue Constraints\n"); |
| err = TestReadAttributeInt32uValueMinValueConstraints_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute INT32U Value MaxValue Constraints\n"); |
| err = TestReadAttributeInt32uValueMaxValueConstraints_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute INT32U Value NotValue Constraints\n"); |
| err = TestReadAttributeInt32uValueNotValueConstraints_3(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 4; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t int32u)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TestConstraints *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint32_t int32u) |
| { |
| (static_cast<TestConstraints *>(context))->OnSuccessResponse_0(int32u); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TestConstraints *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint32_t int32u) |
| { |
| (static_cast<TestConstraints *>(context))->OnSuccessResponse_1(int32u); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TestConstraints *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint32_t int32u) |
| { |
| (static_cast<TestConstraints *>(context))->OnSuccessResponse_2(int32u); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<TestConstraints *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint32_t int32u) |
| { |
| (static_cast<TestConstraints *>(context))->OnSuccessResponse_3(int32u); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteAttributeInt32uValue_0() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint32_t int32uArgument = 5UL; |
| |
| return cluster.WriteAttributeInt32u(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), int32uArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint32_t int32u) { NextTest(); } |
| |
| CHIP_ERROR TestReadAttributeInt32uValueMinValueConstraints_1() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32u(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint32_t int32u) |
| { |
| VerifyOrReturn(CheckConstraintMinValue<uint32_t>("int32u", int32u, 5)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt32uValueMaxValueConstraints_2() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32u(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint32_t int32u) |
| { |
| VerifyOrReturn(CheckConstraintMaxValue<uint32_t>("int32u", int32u, 5)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeInt32uValueNotValueConstraints_3() |
| { |
| chip::Controller::TestClusterClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeInt32u(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint32_t int32u) |
| { |
| VerifyOrReturn(CheckConstraintNotValue<uint32_t>("int32u", int32u, 6)); |
| NextTest(); |
| } |
| }; |
| |
| class TestDelayCommands : public TestCommand |
| { |
| public: |
| TestDelayCommands() : TestCommand("TestDelayCommands"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TestDelayCommands\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TestDelayCommands\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Wait 100ms\n"); |
| err = TestWait100ms_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWait100ms_0() { return WaitForMs(100); } |
| }; |
| |
| class TestDescriptorCluster : public TestCommand |
| { |
| public: |
| TestDescriptorCluster() : TestCommand("TestDescriptorCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TestDescriptorCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TestDescriptorCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Read attribute Device list\n"); |
| err = TestReadAttributeDeviceList_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Read attribute Server list\n"); |
| err = TestReadAttributeServerList_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Read attribute Client list\n"); |
| err = TestReadAttributeClientList_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Read attribute Parts list\n"); |
| err = TestReadAttributePartsList_3(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 4; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, _DeviceType * deviceList)> mOnSuccessCallback_0{ |
| OnSuccessCallback_0, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, chip::ClusterId * serverList)> mOnSuccessCallback_1{ |
| OnSuccessCallback_1, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, chip::ClusterId * clientList)> mOnSuccessCallback_2{ |
| OnSuccessCallback_2, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t count, chip::EndpointId * partsList)> mOnSuccessCallback_3{ |
| OnSuccessCallback_3, this |
| }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TestDescriptorCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t count, _DeviceType * deviceList) |
| { |
| (static_cast<TestDescriptorCluster *>(context))->OnSuccessResponse_0(count, deviceList); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TestDescriptorCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint16_t count, chip::ClusterId * serverList) |
| { |
| (static_cast<TestDescriptorCluster *>(context))->OnSuccessResponse_1(count, serverList); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TestDescriptorCluster *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint16_t count, chip::ClusterId * clientList) |
| { |
| (static_cast<TestDescriptorCluster *>(context))->OnSuccessResponse_2(count, clientList); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<TestDescriptorCluster *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint16_t count, chip::EndpointId * partsList) |
| { |
| (static_cast<TestDescriptorCluster *>(context))->OnSuccessResponse_3(count, partsList); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadAttributeDeviceList_0() |
| { |
| chip::Controller::DescriptorClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeDeviceList(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t count, _DeviceType * deviceList) |
| { |
| VerifyOrReturn(CheckValueAsList("deviceList", count, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeServerList_1() |
| { |
| chip::Controller::DescriptorClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeServerList(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint16_t count, chip::ClusterId * serverList) |
| { |
| VerifyOrReturn(CheckValueAsList("serverList", count, 18)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributeClientList_2() |
| { |
| chip::Controller::DescriptorClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeClientList(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint16_t count, chip::ClusterId * clientList) |
| { |
| VerifyOrReturn(CheckValueAsList("clientList", count, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadAttributePartsList_3() |
| { |
| chip::Controller::DescriptorClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributePartsList(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint16_t count, chip::EndpointId * partsList) |
| { |
| VerifyOrReturn(CheckValueAsList("partsList", count, 2)); |
| NextTest(); |
| } |
| }; |
| |
| class TestSubscribe_OnOff : public TestCommand |
| { |
| public: |
| TestSubscribe_OnOff() : TestCommand("TestSubscribe_OnOff"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TestSubscribe_OnOff\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TestSubscribe_OnOff\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Set OnOff Attribute to false\n"); |
| err = TestSetOnOffAttributeToFalse_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Report: Subscribe OnOff Attribute\n"); |
| err = TestReportSubscribeOnOffAttribute_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Subscribe OnOff Attribute\n"); |
| err = TestSubscribeOnOffAttribute_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Turn On the light to see attribute change\n"); |
| err = TestTurnOnTheLightToSeeAttributeChange_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Check for attribute report\n"); |
| err = TestCheckForAttributeReport_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Turn Off the light to see attribute change\n"); |
| err = TestTurnOffTheLightToSeeAttributeChange_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Check for attribute report\n"); |
| err = TestCheckForAttributeReport_6(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 7; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<TestSubscribe_OnOff *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| bool mReceivedReport_1 = false; |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, bool onOff) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnSuccessResponse_2(onOff); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<TestSubscribe_OnOff *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, bool onOff) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnSuccessResponse_4(onOff); |
| } |
| |
| bool mReceivedReport_4 = false; |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context) { (static_cast<TestSubscribe_OnOff *>(context))->OnSuccessResponse_5(); } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, bool onOff) |
| { |
| (static_cast<TestSubscribe_OnOff *>(context))->OnSuccessResponse_6(onOff); |
| } |
| |
| bool mReceivedReport_6 = false; |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestSetOnOffAttributeToFalse_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestReportSubscribeOnOffAttribute_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| ReturnErrorOnFailure(cluster.ReportAttributeOnOff(mOnSuccessCallback_1.Cancel())); |
| return WaitForMs(0); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(mReceivedReport_1 == false, ChipLogError(chipTool, "Not Fatal: on report called more than once.")); |
| mReceivedReport_1 = true; |
| |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, false)); |
| } |
| |
| CHIP_ERROR TestSubscribeOnOffAttribute_2() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t minIntervalArgument = 2U; |
| uint16_t maxIntervalArgument = 10U; |
| |
| return cluster.SubscribeAttributeOnOff(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), minIntervalArgument, |
| maxIntervalArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(bool onOff) |
| { |
| VerifyOrReturn(mReceivedReport_1, Exit("Initial report not received!")); |
| |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestTurnOnTheLightToSeeAttributeChange_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestCheckForAttributeReport_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReportAttributeOnOff(mOnSuccessCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(bool onOff) |
| { |
| VerifyOrReturn(mReceivedReport_4 == false, ChipLogError(chipTool, "Not Fatal: on report called more than once.")); |
| mReceivedReport_4 = true; |
| |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, true)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestTurnOffTheLightToSeeAttributeChange_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5() { NextTest(); } |
| |
| CHIP_ERROR TestCheckForAttributeReport_6() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReportAttributeOnOff(mOnSuccessCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(bool onOff) |
| { |
| VerifyOrReturn(mReceivedReport_6 == false, ChipLogError(chipTool, "Not Fatal: on report called more than once.")); |
| mReceivedReport_6 = true; |
| |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, false)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_OO_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_OO_1_1() : TestCommand("Test_TC_OO_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_OO_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_OO_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the global attribute: ClusterRevision\n"); |
| err = TestReadTheGlobalAttributeClusterRevision_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 1 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : reads back global attribute: ClusterRevision\n"); |
| err = TestReadsBackGlobalAttributeClusterRevision_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : read the optional global attribute: FeatureMap\n"); |
| err = TestReadTheOptionalGlobalAttributeFeatureMap_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : write the default values to optional global attribute: FeatureMap\n"); |
| err = TestWriteTheDefaultValuesToOptionalGlobalAttributeFeatureMap_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : reads back optional global attribute: FeatureMap\n"); |
| err = TestReadsBackOptionalGlobalAttributeFeatureMap_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t featureMap)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t featureMap)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t featureMap)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnSuccessResponse_1(clusterRevision); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnSuccessResponse_2(clusterRevision); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint32_t featureMap) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnSuccessResponse_3(featureMap); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, uint32_t featureMap) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnSuccessResponse_4(featureMap); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, uint32_t featureMap) |
| { |
| (static_cast<Test_TC_OO_1_1 *>(context))->OnSuccessResponse_5(featureMap); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 3U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 3U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_1(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestReadsBackGlobalAttributeClusterRevision_2() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 3U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheOptionalGlobalAttributeFeatureMap_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeFeatureMap(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint32_t featureMap) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("featureMap", featureMap, 0UL)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToOptionalGlobalAttributeFeatureMap_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint32_t featureMapArgument = 0UL; |
| |
| return cluster.WriteAttributeFeatureMap(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel(), featureMapArgument); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_4(uint32_t featureMap) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestReadsBackOptionalGlobalAttributeFeatureMap_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeFeatureMap(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(uint32_t featureMap) |
| { |
| VerifyOrReturn(CheckValue<uint32_t>("featureMap", featureMap, 0UL)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_OO_2_1 : public TestCommand |
| { |
| public: |
| Test_TC_OO_2_1() : TestCommand("Test_TC_OO_2_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_OO_2_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_OO_2_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the mandatory attribute: OnOff\n"); |
| err = TestReadTheMandatoryAttributeOnOff_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : reads back mandatory attribute: OnOff\n"); |
| err = TestReadsBackMandatoryAttributeOnOff_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : read LT attribute: GlobalSceneControl\n"); |
| err = TestReadLtAttributeGlobalSceneControl_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : read LT attribute: OnTime\n"); |
| err = TestReadLtAttributeOnTime_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : read LT attribute: OffWaitTime\n"); |
| err = TestReadLtAttributeOffWaitTime_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : read LT attribute: StartUpOnOff\n"); |
| err = TestReadLtAttributeStartUpOnOff_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : write the default value to LT attribute: OnTime\n"); |
| err = TestWriteTheDefaultValueToLtAttributeOnTime_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : write the default value to LT attribute: OffWaitTime\n"); |
| err = TestWriteTheDefaultValueToLtAttributeOffWaitTime_7(); |
| break; |
| case 8: |
| ChipLogProgress(chipTool, " ***** Test Step 8 : write the default value to LT attribute: StartUpOnOff\n"); |
| err = TestWriteTheDefaultValueToLtAttributeStartUpOnOff_8(); |
| break; |
| case 9: |
| ChipLogProgress(chipTool, " ***** Test Step 9 : reads back LT attribute: OnTime\n"); |
| err = TestReadsBackLtAttributeOnTime_9(); |
| break; |
| case 10: |
| ChipLogProgress(chipTool, " ***** Test Step 10 : reads back LT attribute: OffWaitTime\n"); |
| err = TestReadsBackLtAttributeOffWaitTime_10(); |
| break; |
| case 11: |
| ChipLogProgress(chipTool, " ***** Test Step 11 : reads back LT attribute: StartUpOnOff\n"); |
| err = TestReadsBackLtAttributeStartUpOnOff_11(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 12; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, bool globalSceneControl)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t onTime)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t offWaitTime)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t startUpOnOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t onTime)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t offWaitTime)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_8{ OnFailureCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t startUpOnOff)> mOnSuccessCallback_8{ OnSuccessCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_9{ OnFailureCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t onTime)> mOnSuccessCallback_9{ OnSuccessCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_10{ OnFailureCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t offWaitTime)> mOnSuccessCallback_10{ OnSuccessCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_11{ OnFailureCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t startUpOnOff)> mOnSuccessCallback_11{ OnSuccessCallback_11, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_0(onOff); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, bool globalSceneControl) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_2(globalSceneControl); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint16_t onTime) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_3(onTime); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, uint16_t offWaitTime) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_4(offWaitTime); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, uint8_t startUpOnOff) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_5(startUpOnOff); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, uint16_t onTime) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_6(onTime); |
| } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, uint16_t offWaitTime) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_7(offWaitTime); |
| } |
| |
| static void OnFailureCallback_8(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_8(status); |
| } |
| |
| static void OnSuccessCallback_8(void * context, uint8_t startUpOnOff) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_8(startUpOnOff); |
| } |
| |
| static void OnFailureCallback_9(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_9(status); |
| } |
| |
| static void OnSuccessCallback_9(void * context, uint16_t onTime) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_9(onTime); |
| } |
| |
| static void OnFailureCallback_10(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_10(status); |
| } |
| |
| static void OnSuccessCallback_10(void * context, uint16_t offWaitTime) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_10(offWaitTime); |
| } |
| |
| static void OnFailureCallback_11(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnFailureResponse_11(status); |
| } |
| |
| static void OnSuccessCallback_11(void * context, uint8_t startUpOnOff) |
| { |
| (static_cast<Test_TC_OO_2_1 *>(context))->OnSuccessResponse_11(startUpOnOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeOnOff_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadsBackMandatoryAttributeOnOff_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadLtAttributeGlobalSceneControl_2() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeGlobalSceneControl(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(bool globalSceneControl) |
| { |
| VerifyOrReturn(CheckValue<bool>("globalSceneControl", globalSceneControl, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadLtAttributeOnTime_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnTime(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint16_t onTime) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("onTime", onTime, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadLtAttributeOffWaitTime_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOffWaitTime(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(uint16_t offWaitTime) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("offWaitTime", offWaitTime, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadLtAttributeStartUpOnOff_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeStartUpOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(uint8_t startUpOnOff) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("startUpOnOff", startUpOnOff, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteTheDefaultValueToLtAttributeOnTime_6() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t onTimeArgument = 0U; |
| |
| return cluster.WriteAttributeOnTime(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel(), onTimeArgument); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(uint16_t onTime) { NextTest(); } |
| |
| CHIP_ERROR TestWriteTheDefaultValueToLtAttributeOffWaitTime_7() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t offWaitTimeArgument = 0U; |
| |
| return cluster.WriteAttributeOffWaitTime(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel(), offWaitTimeArgument); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(uint16_t offWaitTime) { NextTest(); } |
| |
| CHIP_ERROR TestWriteTheDefaultValueToLtAttributeStartUpOnOff_8() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t startUpOnOffArgument = 0; |
| |
| return cluster.WriteAttributeStartUpOnOff(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel(), |
| startUpOnOffArgument); |
| } |
| |
| void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_8(uint8_t startUpOnOff) { NextTest(); } |
| |
| CHIP_ERROR TestReadsBackLtAttributeOnTime_9() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnTime(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel()); |
| } |
| |
| void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_9(uint16_t onTime) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("onTime", onTime, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadsBackLtAttributeOffWaitTime_10() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOffWaitTime(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel()); |
| } |
| |
| void OnFailureResponse_10(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_10(uint16_t offWaitTime) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("offWaitTime", offWaitTime, 0U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadsBackLtAttributeStartUpOnOff_11() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeStartUpOnOff(mOnSuccessCallback_11.Cancel(), mOnFailureCallback_11.Cancel()); |
| } |
| |
| void OnFailureResponse_11(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_11(uint8_t startUpOnOff) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("startUpOnOff", startUpOnOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_OO_2_2 : public TestCommand |
| { |
| public: |
| Test_TC_OO_2_2() : TestCommand("Test_TC_OO_2_2"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_OO_2_2\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_OO_2_2\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Send Off Command\n"); |
| err = TestSendOffCommand_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Send On Command\n"); |
| err = TestSendOnCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Send Off Command\n"); |
| err = TestSendOffCommand_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Send Toggle Command\n"); |
| err = TestSendToggleCommand_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : Check on/off attribute value is true after toggle command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterToggleCommand_7(); |
| break; |
| case 8: |
| ChipLogProgress(chipTool, " ***** Test Step 8 : Send Toggle Command\n"); |
| err = TestSendToggleCommand_8(); |
| break; |
| case 9: |
| ChipLogProgress(chipTool, " ***** Test Step 9 : Check on/off attribute value is false after toggle command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterToggleCommand_9(); |
| break; |
| case 10: |
| ChipLogProgress(chipTool, " ***** Test Step 10 : Send On Command\n"); |
| err = TestSendOnCommand_10(); |
| break; |
| case 11: |
| ChipLogProgress(chipTool, " ***** Test Step 11 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_11(); |
| break; |
| case 12: |
| ChipLogProgress(chipTool, " ***** Test Step 12 : Send Off Command\n"); |
| err = TestSendOffCommand_12(); |
| break; |
| case 13: |
| ChipLogProgress(chipTool, " ***** Test Step 13 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_13(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 14; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_8{ OnFailureCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_8{ OnSuccessCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_9{ OnFailureCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_9{ OnSuccessCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_10{ OnFailureCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_10{ OnSuccessCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_11{ OnFailureCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_11{ OnSuccessCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_12{ OnFailureCallback_12, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_12{ OnSuccessCallback_12, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_13{ OnFailureCallback_13, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_13{ OnSuccessCallback_13, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_3(onOff); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_5(onOff); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context) { (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_6(); } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_7(onOff); |
| } |
| |
| static void OnFailureCallback_8(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_8(status); |
| } |
| |
| static void OnSuccessCallback_8(void * context) { (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_8(); } |
| |
| static void OnFailureCallback_9(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_9(status); |
| } |
| |
| static void OnSuccessCallback_9(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_9(onOff); |
| } |
| |
| static void OnFailureCallback_10(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_10(status); |
| } |
| |
| static void OnSuccessCallback_10(void * context) { (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_10(); } |
| |
| static void OnFailureCallback_11(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_11(status); |
| } |
| |
| static void OnSuccessCallback_11(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_11(onOff); |
| } |
| |
| static void OnFailureCallback_12(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_12(status); |
| } |
| |
| static void OnSuccessCallback_12(void * context) { (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_12(); } |
| |
| static void OnFailureCallback_13(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnFailureResponse_13(status); |
| } |
| |
| static void OnSuccessCallback_13(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_OO_2_2 *>(context))->OnSuccessResponse_13(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestSendOffCommand_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSendOnCommand_2() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSendOffCommand_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSendToggleCommand_6() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Toggle(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterToggleCommand_7() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSendToggleCommand_8() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Toggle(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel()); |
| } |
| |
| void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_8() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterToggleCommand_9() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel()); |
| } |
| |
| void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_9(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSendOnCommand_10() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel()); |
| } |
| |
| void OnFailureResponse_10(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_10() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_11() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_11.Cancel(), mOnFailureCallback_11.Cancel()); |
| } |
| |
| void OnFailureResponse_11(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_11(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestSendOffCommand_12() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_12.Cancel(), mOnFailureCallback_12.Cancel()); |
| } |
| |
| void OnFailureResponse_12(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_12() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_13() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_13.Cancel(), mOnFailureCallback_13.Cancel()); |
| } |
| |
| void OnFailureResponse_13(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_13(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_DM_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_DM_1_1() : TestCommand("Test_TC_DM_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_DM_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DM_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Query Interaction Model Version\n"); |
| err = TestQueryInteractionModelVersion_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Query Vendor Name\n"); |
| err = TestQueryVendorName_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Query VendorID\n"); |
| err = TestQueryVendorID_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Query Product Name\n"); |
| err = TestQueryProductName_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Query ProductID\n"); |
| err = TestQueryProductID_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Query User Label\n"); |
| err = TestQueryUserLabel_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Query User Location\n"); |
| err = TestQueryUserLocation_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : Query HardwareVersion\n"); |
| err = TestQueryHardwareVersion_7(); |
| break; |
| case 8: |
| ChipLogProgress(chipTool, " ***** Test Step 8 : Query HardwareVersionString\n"); |
| err = TestQueryHardwareVersionString_8(); |
| break; |
| case 9: |
| ChipLogProgress(chipTool, " ***** Test Step 9 : Query SoftwareVersion\n"); |
| err = TestQuerySoftwareVersion_9(); |
| break; |
| case 10: |
| ChipLogProgress(chipTool, " ***** Test Step 10 : Query SoftwareVersionString\n"); |
| err = TestQuerySoftwareVersionString_10(); |
| break; |
| case 11: |
| ChipLogProgress(chipTool, " ***** Test Step 11 : Query ManufacturingDate\n"); |
| err = TestQueryManufacturingDate_11(); |
| break; |
| case 12: |
| ChipLogProgress(chipTool, " ***** Test Step 12 : Query PartNumber\n"); |
| err = TestQueryPartNumber_12(); |
| break; |
| case 13: |
| ChipLogProgress(chipTool, " ***** Test Step 13 : Query ProductURL\n"); |
| err = TestQueryProductURL_13(); |
| break; |
| case 14: |
| ChipLogProgress(chipTool, " ***** Test Step 14 : Query ProductLabel\n"); |
| err = TestQueryProductLabel_14(); |
| break; |
| case 15: |
| ChipLogProgress(chipTool, " ***** Test Step 15 : Query SerialNumber\n"); |
| err = TestQuerySerialNumber_15(); |
| break; |
| case 16: |
| ChipLogProgress(chipTool, " ***** Test Step 16 : Query LocalConfigDisabled\n"); |
| err = TestQueryLocalConfigDisabled_16(); |
| break; |
| case 17: |
| ChipLogProgress(chipTool, " ***** Test Step 17 : Query Reachable\n"); |
| err = TestQueryReachable_17(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 18; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t interactionModelVersion)> mOnSuccessCallback_0{ OnSuccessCallback_0, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan vendorName)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t vendorID)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan productName)> mOnSuccessCallback_3{ OnSuccessCallback_3, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t productID)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan userLabel)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan location)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t hardwareVersion)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_8{ OnFailureCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan hardwareVersionString)> mOnSuccessCallback_8{ |
| OnSuccessCallback_8, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_9{ OnFailureCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint32_t softwareVersion)> mOnSuccessCallback_9{ OnSuccessCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_10{ OnFailureCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan softwareVersionString)> mOnSuccessCallback_10{ |
| OnSuccessCallback_10, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_11{ OnFailureCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan manufacturingDate)> mOnSuccessCallback_11{ |
| OnSuccessCallback_11, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_12{ OnFailureCallback_12, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan partNumber)> mOnSuccessCallback_12{ OnSuccessCallback_12, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_13{ OnFailureCallback_13, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan productURL)> mOnSuccessCallback_13{ OnSuccessCallback_13, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_14{ OnFailureCallback_14, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan productLabel)> mOnSuccessCallback_14{ OnSuccessCallback_14, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_15{ OnFailureCallback_15, this }; |
| chip::Callback::Callback<void (*)(void * context, chip::ByteSpan serialNumber)> mOnSuccessCallback_15{ OnSuccessCallback_15, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_16{ OnFailureCallback_16, this }; |
| chip::Callback::Callback<void (*)(void * context, bool localConfigDisabled)> mOnSuccessCallback_16{ OnSuccessCallback_16, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_17{ OnFailureCallback_17, this }; |
| chip::Callback::Callback<void (*)(void * context, bool reachable)> mOnSuccessCallback_17{ OnSuccessCallback_17, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t interactionModelVersion) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_0(interactionModelVersion); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, chip::ByteSpan vendorName) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_1(vendorName); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint16_t vendorID) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_2(vendorID); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, chip::ByteSpan productName) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_3(productName); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, uint16_t productID) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_4(productID); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, chip::ByteSpan userLabel) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_5(userLabel); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, chip::ByteSpan location) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_6(location); |
| } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, uint16_t hardwareVersion) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_7(hardwareVersion); |
| } |
| |
| static void OnFailureCallback_8(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_8(status); |
| } |
| |
| static void OnSuccessCallback_8(void * context, chip::ByteSpan hardwareVersionString) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_8(hardwareVersionString); |
| } |
| |
| static void OnFailureCallback_9(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_9(status); |
| } |
| |
| static void OnSuccessCallback_9(void * context, uint32_t softwareVersion) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_9(softwareVersion); |
| } |
| |
| static void OnFailureCallback_10(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_10(status); |
| } |
| |
| static void OnSuccessCallback_10(void * context, chip::ByteSpan softwareVersionString) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_10(softwareVersionString); |
| } |
| |
| static void OnFailureCallback_11(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_11(status); |
| } |
| |
| static void OnSuccessCallback_11(void * context, chip::ByteSpan manufacturingDate) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_11(manufacturingDate); |
| } |
| |
| static void OnFailureCallback_12(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_12(status); |
| } |
| |
| static void OnSuccessCallback_12(void * context, chip::ByteSpan partNumber) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_12(partNumber); |
| } |
| |
| static void OnFailureCallback_13(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_13(status); |
| } |
| |
| static void OnSuccessCallback_13(void * context, chip::ByteSpan productURL) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_13(productURL); |
| } |
| |
| static void OnFailureCallback_14(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_14(status); |
| } |
| |
| static void OnSuccessCallback_14(void * context, chip::ByteSpan productLabel) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_14(productLabel); |
| } |
| |
| static void OnFailureCallback_15(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_15(status); |
| } |
| |
| static void OnSuccessCallback_15(void * context, chip::ByteSpan serialNumber) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_15(serialNumber); |
| } |
| |
| static void OnFailureCallback_16(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_16(status); |
| } |
| |
| static void OnSuccessCallback_16(void * context, bool localConfigDisabled) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_16(localConfigDisabled); |
| } |
| |
| static void OnFailureCallback_17(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnFailureResponse_17(status); |
| } |
| |
| static void OnSuccessCallback_17(void * context, bool reachable) |
| { |
| (static_cast<Test_TC_DM_1_1 *>(context))->OnSuccessResponse_17(reachable); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestQueryInteractionModelVersion_0() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeInteractionModelVersion(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t interactionModelVersion) |
| { |
| VerifyOrReturn(CheckConstraintType("interactionModelVersion", "", "uint16")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryVendorName_1() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeVendorName(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(chip::ByteSpan vendorName) |
| { |
| VerifyOrReturn(CheckConstraintType("vendorName", "", "string")); |
| VerifyOrReturn(CheckConstraintMaxLength("vendorName", vendorName.size(), 32)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryVendorID_2() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeVendorID(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint16_t vendorID) |
| { |
| VerifyOrReturn(CheckConstraintType("vendorID", "", "uint16")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryProductName_3() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeProductName(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(chip::ByteSpan productName) |
| { |
| VerifyOrReturn(CheckConstraintType("productName", "", "string")); |
| VerifyOrReturn(CheckConstraintMaxLength("productName", productName.size(), 32)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryProductID_4() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeProductID(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(uint16_t productID) |
| { |
| VerifyOrReturn(CheckConstraintType("productID", "", "uint16")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryUserLabel_5() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeUserLabel(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(chip::ByteSpan userLabel) |
| { |
| VerifyOrReturn(CheckConstraintType("userLabel", "", "string")); |
| VerifyOrReturn(CheckConstraintMaxLength("userLabel", userLabel.size(), 32)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryUserLocation_6() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeLocation(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(chip::ByteSpan location) |
| { |
| VerifyOrReturn(CheckConstraintType("location", "", "string")); |
| VerifyOrReturn(CheckConstraintFormat("location", "", "ISO 3166-1 alpha-2")); |
| VerifyOrReturn(CheckConstraintMaxLength("location", location.size(), 2)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryHardwareVersion_7() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeHardwareVersion(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(uint16_t hardwareVersion) |
| { |
| VerifyOrReturn(CheckConstraintType("hardwareVersion", "", "uint16")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryHardwareVersionString_8() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeHardwareVersionString(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel()); |
| } |
| |
| void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_8(chip::ByteSpan hardwareVersionString) |
| { |
| VerifyOrReturn(CheckConstraintType("hardwareVersionString", "", "string")); |
| VerifyOrReturn(CheckConstraintMinLength("hardwareVersionString", hardwareVersionString.size(), 1)); |
| VerifyOrReturn(CheckConstraintMaxLength("hardwareVersionString", hardwareVersionString.size(), 64)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQuerySoftwareVersion_9() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeSoftwareVersion(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel()); |
| } |
| |
| void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_9(uint32_t softwareVersion) |
| { |
| VerifyOrReturn(CheckConstraintType("softwareVersion", "", "uint32")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQuerySoftwareVersionString_10() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeSoftwareVersionString(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel()); |
| } |
| |
| void OnFailureResponse_10(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_10(chip::ByteSpan softwareVersionString) |
| { |
| VerifyOrReturn(CheckConstraintType("softwareVersionString", "", "string")); |
| VerifyOrReturn(CheckConstraintFormat("softwareVersionString", "", "ASCII")); |
| VerifyOrReturn(CheckConstraintMinLength("softwareVersionString", softwareVersionString.size(), 1)); |
| VerifyOrReturn(CheckConstraintMaxLength("softwareVersionString", softwareVersionString.size(), 64)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryManufacturingDate_11() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeManufacturingDate(mOnSuccessCallback_11.Cancel(), mOnFailureCallback_11.Cancel()); |
| } |
| |
| void OnFailureResponse_11(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_11(chip::ByteSpan manufacturingDate) |
| { |
| VerifyOrReturn(CheckConstraintType("manufacturingDate", "", "string")); |
| VerifyOrReturn(CheckConstraintFormat("manufacturingDate", "", "ISO 8601")); |
| VerifyOrReturn(CheckConstraintMinLength("manufacturingDate", manufacturingDate.size(), 8)); |
| VerifyOrReturn(CheckConstraintMaxLength("manufacturingDate", manufacturingDate.size(), 16)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryPartNumber_12() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributePartNumber(mOnSuccessCallback_12.Cancel(), mOnFailureCallback_12.Cancel()); |
| } |
| |
| void OnFailureResponse_12(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_12(chip::ByteSpan partNumber) |
| { |
| VerifyOrReturn(CheckConstraintType("partNumber", "", "string")); |
| VerifyOrReturn(CheckConstraintMaxLength("partNumber", partNumber.size(), 32)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryProductURL_13() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeProductURL(mOnSuccessCallback_13.Cancel(), mOnFailureCallback_13.Cancel()); |
| } |
| |
| void OnFailureResponse_13(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_13(chip::ByteSpan productURL) |
| { |
| VerifyOrReturn(CheckConstraintType("productURL", "", "string")); |
| VerifyOrReturn(CheckConstraintFormat("productURL", "", "RFC3986")); |
| VerifyOrReturn(CheckConstraintMaxLength("productURL", productURL.size(), 256)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryProductLabel_14() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeProductLabel(mOnSuccessCallback_14.Cancel(), mOnFailureCallback_14.Cancel()); |
| } |
| |
| void OnFailureResponse_14(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_14(chip::ByteSpan productLabel) |
| { |
| VerifyOrReturn(CheckConstraintType("productLabel", "", "string")); |
| VerifyOrReturn(CheckConstraintMaxLength("productLabel", productLabel.size(), 64)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQuerySerialNumber_15() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeSerialNumber(mOnSuccessCallback_15.Cancel(), mOnFailureCallback_15.Cancel()); |
| } |
| |
| void OnFailureResponse_15(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_15(chip::ByteSpan serialNumber) |
| { |
| VerifyOrReturn(CheckConstraintType("serialNumber", "", "string")); |
| VerifyOrReturn(CheckConstraintMaxLength("serialNumber", serialNumber.size(), 32)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryLocalConfigDisabled_16() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeLocalConfigDisabled(mOnSuccessCallback_16.Cancel(), mOnFailureCallback_16.Cancel()); |
| } |
| |
| void OnFailureResponse_16(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_16(bool localConfigDisabled) |
| { |
| VerifyOrReturn(CheckConstraintType("localConfigDisabled", "", "boolean")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestQueryReachable_17() |
| { |
| chip::Controller::BasicClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeReachable(mOnSuccessCallback_17.Cancel(), mOnFailureCallback_17.Cancel()); |
| } |
| |
| void OnFailureResponse_17(uint8_t status) |
| { |
| (status == EMBER_ZCL_STATUS_UNSUPPORTED_ATTRIBUTE) ? NextTest() : ThrowFailureResponse(); |
| } |
| |
| void OnSuccessResponse_17(bool reachable) |
| { |
| VerifyOrReturn(CheckConstraintType("reachable", "", "boolean")); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_DM_3_1 : public TestCommand |
| { |
| public: |
| Test_TC_DM_3_1() : TestCommand("Test_TC_DM_3_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_DM_3_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DM_3_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 0; |
| |
| // |
| // Tests methods |
| // |
| }; |
| |
| class Test_TC_WNCV_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_WNCV_1_1() : TestCommand("Test_TC_WNCV_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_WNCV_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_WNCV_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the global attribute: ClusterRevision\n"); |
| err = TestReadTheGlobalAttributeClusterRevision_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 1 : write the default value to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValueToMandatoryGlobalAttributeClusterRevision_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : reads back global attribute: ClusterRevision\n"); |
| err = TestReadsBackGlobalAttributeClusterRevision_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_WNCV_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_1_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_WNCV_1_1 *>(context))->OnSuccessResponse_1(clusterRevision); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_1_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_WNCV_1_1 *>(context))->OnSuccessResponse_2(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 5U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteTheDefaultValueToMandatoryGlobalAttributeClusterRevision_1() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 5U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_1(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestReadsBackGlobalAttributeClusterRevision_2() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 5U)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_WNCV_2_1 : public TestCommand |
| { |
| public: |
| Test_TC_WNCV_2_1() : TestCommand("Test_TC_WNCV_2_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_WNCV_2_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_WNCV_2_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the RO mandatory attribute default: Type\n"); |
| err = TestReadTheRoMandatoryAttributeDefaultType_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : reads back the RO mandatory attribute: Type\n"); |
| err = TestReadsBackTheRoMandatoryAttributeType_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : read the RO mandatory attribute default: ConfigStatus\n"); |
| err = TestReadTheRoMandatoryAttributeDefaultConfigStatus_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : reads back the RO mandatory attribute: ConfigStatus\n"); |
| err = TestReadsBackTheRoMandatoryAttributeConfigStatus_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : read the RO mandatory attribute default: OperationalStatus\n"); |
| err = TestReadTheRoMandatoryAttributeDefaultOperationalStatus_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : reads back the RO mandatory attribute: OperationalStatus\n"); |
| err = TestReadsBackTheRoMandatoryAttributeOperationalStatus_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : read the RO mandatory attribute default: EndProductType\n"); |
| err = TestReadTheRoMandatoryAttributeDefaultEndProductType_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : reads back the RO mandatory attribute: EndProductType\n"); |
| err = TestReadsBackTheRoMandatoryAttributeEndProductType_7(); |
| break; |
| case 8: |
| ChipLogProgress(chipTool, " ***** Test Step 8 : read the RW mandatory attribute default: Mode\n"); |
| err = TestReadTheRwMandatoryAttributeDefaultMode_8(); |
| break; |
| case 9: |
| ChipLogProgress(chipTool, " ***** Test Step 9 : write a value into the RW mandatory attribute:: Mode\n"); |
| err = TestWriteAValueIntoTheRwMandatoryAttributeMode_9(); |
| break; |
| case 10: |
| ChipLogProgress(chipTool, " ***** Test Step 10 : reads back the RW mandatory attribute: Mode\n"); |
| err = TestReadsBackTheRwMandatoryAttributeMode_10(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 11; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t type)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t type)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t configStatus)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t configStatus)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t operationalStatus)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t operationalStatus)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t endProductType)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t endProductType)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_8{ OnFailureCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mode)> mOnSuccessCallback_8{ OnSuccessCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_9{ OnFailureCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mode)> mOnSuccessCallback_9{ OnSuccessCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_10{ OnFailureCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t mode)> mOnSuccessCallback_10{ OnSuccessCallback_10, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint8_t type) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_0(type); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint8_t type) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_1(type); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t configStatus) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_2(configStatus); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint8_t configStatus) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_3(configStatus); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, uint8_t operationalStatus) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_4(operationalStatus); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, uint8_t operationalStatus) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_5(operationalStatus); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, uint8_t endProductType) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_6(endProductType); |
| } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, uint8_t endProductType) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_7(endProductType); |
| } |
| |
| static void OnFailureCallback_8(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_8(status); |
| } |
| |
| static void OnSuccessCallback_8(void * context, uint8_t mode) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_8(mode); |
| } |
| |
| static void OnFailureCallback_9(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_9(status); |
| } |
| |
| static void OnSuccessCallback_9(void * context, uint8_t mode) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_9(mode); |
| } |
| |
| static void OnFailureCallback_10(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnFailureResponse_10(status); |
| } |
| |
| static void OnSuccessCallback_10(void * context, uint8_t mode) |
| { |
| (static_cast<Test_TC_WNCV_2_1 *>(context))->OnSuccessResponse_10(mode); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheRoMandatoryAttributeDefaultType_0() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeType(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint8_t type) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("type", type, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadsBackTheRoMandatoryAttributeType_1() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeType(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint8_t type) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("type", type, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheRoMandatoryAttributeDefaultConfigStatus_2() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeConfigStatus(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t configStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("configStatus", configStatus, 3)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadsBackTheRoMandatoryAttributeConfigStatus_3() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeConfigStatus(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint8_t configStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("configStatus", configStatus, 3)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheRoMandatoryAttributeDefaultOperationalStatus_4() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOperationalStatus(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(uint8_t operationalStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("operationalStatus", operationalStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadsBackTheRoMandatoryAttributeOperationalStatus_5() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOperationalStatus(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(uint8_t operationalStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("operationalStatus", operationalStatus, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheRoMandatoryAttributeDefaultEndProductType_6() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEndProductType(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(uint8_t endProductType) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("endProductType", endProductType, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadsBackTheRoMandatoryAttributeEndProductType_7() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEndProductType(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(uint8_t endProductType) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("endProductType", endProductType, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheRwMandatoryAttributeDefaultMode_8() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeMode(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel()); |
| } |
| |
| void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_8(uint8_t mode) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mode", mode, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteAValueIntoTheRwMandatoryAttributeMode_9() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t modeArgument = 7; |
| |
| return cluster.WriteAttributeMode(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel(), modeArgument); |
| } |
| |
| void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_9(uint8_t mode) { NextTest(); } |
| |
| CHIP_ERROR TestReadsBackTheRwMandatoryAttributeMode_10() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeMode(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel()); |
| } |
| |
| void OnFailureResponse_10(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_10(uint8_t mode) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("mode", mode, 7)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_WNCV_3_1 : public TestCommand |
| { |
| public: |
| Test_TC_WNCV_3_1() : TestCommand("Test_TC_WNCV_3_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_WNCV_3_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_WNCV_3_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : 1a: TH adjusts the the DUT to a non-open position\n"); |
| err = Test1aThAdjustsTheTheDutToANonOpenPosition_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : 2a: TH sends UpOrOpen command to DUT\n"); |
| err = Test2aThSendsUpOrOpenCommandToDut_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : 3a: TH reads OperationalStatus attribute from DUT\n"); |
| err = Test3aThReadsOperationalStatusAttributeFromDut_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t operationalStatus)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_WNCV_3_1 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context) { (static_cast<Test_TC_WNCV_3_1 *>(context))->OnSuccessResponse_1(); } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t operationalStatus) |
| { |
| (static_cast<Test_TC_WNCV_3_1 *>(context))->OnSuccessResponse_2(operationalStatus); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR Test1aThAdjustsTheTheDutToANonOpenPosition_0() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.DownOrClose(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR Test2aThSendsUpOrOpenCommandToDut_1() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.UpOrOpen(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1() { NextTest(); } |
| |
| CHIP_ERROR Test3aThReadsOperationalStatusAttributeFromDut_2() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOperationalStatus(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t operationalStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("operationalStatus", operationalStatus, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_WNCV_3_2 : public TestCommand |
| { |
| public: |
| Test_TC_WNCV_3_2() : TestCommand("Test_TC_WNCV_3_2"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_WNCV_3_2\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_WNCV_3_2\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : 1a: TH adjusts the the DUT to a non-closed position\n"); |
| err = Test1aThAdjustsTheTheDutToANonClosedPosition_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : 2a: TH sends DownOrClose command to DUT\n"); |
| err = Test2aThSendsDownOrCloseCommandToDut_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : 3a: TH reads OperationalStatus attribute from DUT\n"); |
| err = Test3aThReadsOperationalStatusAttributeFromDut_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t operationalStatus)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_2 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_WNCV_3_2 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_2 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context) { (static_cast<Test_TC_WNCV_3_2 *>(context))->OnSuccessResponse_1(); } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_2 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t operationalStatus) |
| { |
| (static_cast<Test_TC_WNCV_3_2 *>(context))->OnSuccessResponse_2(operationalStatus); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR Test1aThAdjustsTheTheDutToANonClosedPosition_0() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.UpOrOpen(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR Test2aThSendsDownOrCloseCommandToDut_1() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.DownOrClose(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1() { NextTest(); } |
| |
| CHIP_ERROR Test3aThReadsOperationalStatusAttributeFromDut_2() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOperationalStatus(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t operationalStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("operationalStatus", operationalStatus, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_WNCV_3_3 : public TestCommand |
| { |
| public: |
| Test_TC_WNCV_3_3() : TestCommand("Test_TC_WNCV_3_3"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_WNCV_3_3\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_WNCV_3_3\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : 1a: TH adjusts the the DUT to a non-open position\n"); |
| err = Test1aThAdjustsTheTheDutToANonOpenPosition_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : 2a: TH sends StopMotion command to DUT\n"); |
| err = Test2aThSendsStopMotionCommandToDut_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : 2b: TH reads OperationalStatus attribute from DUT\n"); |
| err = Test2bThReadsOperationalStatusAttributeFromDut_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t operationalStatus)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_3 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_WNCV_3_3 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_3 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context) { (static_cast<Test_TC_WNCV_3_3 *>(context))->OnSuccessResponse_1(); } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_WNCV_3_3 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t operationalStatus) |
| { |
| (static_cast<Test_TC_WNCV_3_3 *>(context))->OnSuccessResponse_2(operationalStatus); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR Test1aThAdjustsTheTheDutToANonOpenPosition_0() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.UpOrOpen(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR Test2aThSendsStopMotionCommandToDut_1() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.StopMotion(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1() { NextTest(); } |
| |
| CHIP_ERROR Test2bThReadsOperationalStatusAttributeFromDut_2() |
| { |
| chip::Controller::WindowCoveringClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOperationalStatus(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t operationalStatus) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("operationalStatus", operationalStatus, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_BI_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_BI_1_1() : TestCommand("Test_TC_BI_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_BI_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_BI_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the global attribute: ClusterRevision\n"); |
| err = TestReadTheGlobalAttributeClusterRevision_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 1 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : reads back global attribute: ClusterRevision\n"); |
| err = TestReadsBackGlobalAttributeClusterRevision_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_BI_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_BI_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_BI_1_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_BI_1_1 *>(context))->OnSuccessResponse_1(clusterRevision); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_BI_1_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_BI_1_1 *>(context))->OnSuccessResponse_2(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::BinaryInputBasicClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 1U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1() |
| { |
| chip::Controller::BinaryInputBasicClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 1U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_1(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestReadsBackGlobalAttributeClusterRevision_2() |
| { |
| chip::Controller::BinaryInputBasicClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 1U)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_FLW_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_FLW_1_1() : TestCommand("Test_TC_FLW_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_FLW_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_FLW_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 0 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_FLW_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_FLW_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::FlowMeasurementClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 2U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class Test_TC_TM_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_TM_1_1() : TestCommand("Test_TC_TM_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_TM_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_TM_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the global attribute: ClusterRevision\n"); |
| err = TestReadTheGlobalAttributeClusterRevision_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 1 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : reads back global attribute: ClusterRevision\n"); |
| err = TestReadsBackGlobalAttributeClusterRevision_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TM_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_TM_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TM_1_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_TM_1_1 *>(context))->OnSuccessResponse_1(clusterRevision); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TM_1_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_TM_1_1 *>(context))->OnSuccessResponse_2(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::TemperatureMeasurementClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 3U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1() |
| { |
| chip::Controller::TemperatureMeasurementClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 3U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_1(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestReadsBackGlobalAttributeClusterRevision_2() |
| { |
| chip::Controller::TemperatureMeasurementClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 3U)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_OCC_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_OCC_1_1() : TestCommand("Test_TC_OCC_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_OCC_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_OCC_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the global attribute: ClusterRevision\n"); |
| err = TestReadTheGlobalAttributeClusterRevision_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 1 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 2; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OCC_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_OCC_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_OCC_1_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_OCC_1_1 *>(context))->OnSuccessResponse_1(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::OccupancySensingClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 2U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1() |
| { |
| chip::Controller::OccupancySensingClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 2U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_1(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class TestOperationalCredentialsCluster : public TestCommand |
| { |
| public: |
| TestOperationalCredentialsCluster() : TestCommand("TestOperationalCredentialsCluster"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: TestOperationalCredentialsCluster\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: TestOperationalCredentialsCluster\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Read number of supported fabrics\n"); |
| err = TestReadNumberOfSupportedFabrics_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Read number of commissioned fabrics\n"); |
| err = TestReadNumberOfCommissionedFabrics_1(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 2; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t supportedFabrics)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t commissionedFabrics)> mOnSuccessCallback_1{ OnSuccessCallback_1, |
| this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<TestOperationalCredentialsCluster *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint8_t supportedFabrics) |
| { |
| (static_cast<TestOperationalCredentialsCluster *>(context))->OnSuccessResponse_0(supportedFabrics); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<TestOperationalCredentialsCluster *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint8_t commissionedFabrics) |
| { |
| (static_cast<TestOperationalCredentialsCluster *>(context))->OnSuccessResponse_1(commissionedFabrics); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadNumberOfSupportedFabrics_0() |
| { |
| chip::Controller::OperationalCredentialsClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeSupportedFabrics(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint8_t supportedFabrics) |
| { |
| VerifyOrReturn(CheckConstraintType("supportedFabrics", "", "uint8")); |
| VerifyOrReturn(CheckConstraintMinValue<uint8_t>("supportedFabrics", supportedFabrics, 4)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadNumberOfCommissionedFabrics_1() |
| { |
| chip::Controller::OperationalCredentialsClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeCommissionedFabrics(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint8_t commissionedFabrics) |
| { |
| VerifyOrReturn(CheckConstraintType("commissionedFabrics", "", "uint8")); |
| VerifyOrReturn(CheckConstraintMinValue<uint8_t>("commissionedFabrics", commissionedFabrics, 1)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_LVL_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_LVL_1_1() : TestCommand("Test_TC_LVL_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_LVL_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_LVL_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 0 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_LVL_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_LVL_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::LevelControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 4U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class Test_TC_CC_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_CC_1_1() : TestCommand("Test_TC_CC_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 0 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_CC_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 4U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class Test_TC_RH_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_RH_1_1() : TestCommand("Test_TC_RH_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_RH_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_RH_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 0 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_RH_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_RH_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::RelativeHumidityMeasurementClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 1U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class Test_TC_MC_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_MC_1_1() : TestCommand("Test_TC_MC_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_MC_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_MC_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 0 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_MC_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_MC_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::RelativeHumidityMeasurementClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 1U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class Test_TC_TSTAT_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_TSTAT_1_1() : TestCommand("Test_TC_TSTAT_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_TSTAT_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_TSTAT_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 0 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSTAT_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_TSTAT_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::ThermostatClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 5U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class Test_TC_PCC_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_PCC_1_1() : TestCommand("Test_TC_PCC_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_PCC_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_PCC_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 0 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_PCC_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 3U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class Test_TC_TSUIC_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_TSUIC_1_1() : TestCommand("Test_TC_TSUIC_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_TSUIC_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_TSUIC_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 0 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_TSUIC_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t clusterRevisionArgument = 2U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| }; |
| |
| class Test_TC_DIAGTH_1_1 : public TestCommand |
| { |
| public: |
| Test_TC_DIAGTH_1_1() : TestCommand("Test_TC_DIAGTH_1_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_DIAGTH_1_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_DIAGTH_1_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the global attribute: ClusterRevision\n"); |
| err = TestReadTheGlobalAttributeClusterRevision_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, |
| " ***** Test Step 1 : write the default values to mandatory global attribute: ClusterRevision\n"); |
| err = TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : reads back global attribute: ClusterRevision\n"); |
| err = TestReadsBackGlobalAttributeClusterRevision_2(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 3; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t clusterRevision)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DIAGTH_1_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_DIAGTH_1_1 *>(context))->OnSuccessResponse_0(clusterRevision); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DIAGTH_1_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_DIAGTH_1_1 *>(context))->OnSuccessResponse_1(clusterRevision); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_DIAGTH_1_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint16_t clusterRevision) |
| { |
| (static_cast<Test_TC_DIAGTH_1_1 *>(context))->OnSuccessResponse_2(clusterRevision); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheGlobalAttributeClusterRevision_0() |
| { |
| chip::Controller::ThreadNetworkDiagnosticsClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 1U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteTheDefaultValuesToMandatoryGlobalAttributeClusterRevision_1() |
| { |
| chip::Controller::ThreadNetworkDiagnosticsClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| uint16_t clusterRevisionArgument = 1U; |
| |
| return cluster.WriteAttributeClusterRevision(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel(), |
| clusterRevisionArgument); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { NextTest(); } |
| |
| void OnSuccessResponse_1(uint16_t clusterRevision) { ThrowSuccessResponse(); } |
| |
| CHIP_ERROR TestReadsBackGlobalAttributeClusterRevision_2() |
| { |
| chip::Controller::ThreadNetworkDiagnosticsClusterTest cluster; |
| cluster.Associate(mDevice, 0); |
| |
| return cluster.ReadAttributeClusterRevision(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint16_t clusterRevision) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("clusterRevision", clusterRevision, 1U)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_TM_2_1 : public TestCommand |
| { |
| public: |
| Test_TC_TM_2_1() : TestCommand("Test_TC_TM_2_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_TM_2_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_TM_2_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the mandatory attribute: MeasuredValue\n"); |
| err = TestReadTheMandatoryAttributeMeasuredValue_0(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 1; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t measuredValue)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TM_2_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, int16_t measuredValue) |
| { |
| (static_cast<Test_TC_TM_2_1 *>(context))->OnSuccessResponse_0(measuredValue); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeMeasuredValue_0() |
| { |
| chip::Controller::TemperatureMeasurementClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeMeasuredValue(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(int16_t measuredValue) |
| { |
| VerifyOrReturn(CheckConstraintType("measuredValue", "", "int16")); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_TSUIC_2_1 : public TestCommand |
| { |
| public: |
| Test_TC_TSUIC_2_1() : TestCommand("Test_TC_TSUIC_2_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_TSUIC_2_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_TSUIC_2_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the mandatory attribute: TemperatureDisplayMode\n"); |
| err = TestReadTheMandatoryAttributeTemperatureDisplayMode_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : read the mandatory attribute: TemperatureDisplayMode\n"); |
| err = TestReadTheMandatoryAttributeTemperatureDisplayMode_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : write to the mandatory attribute: TemperatureDisplayMode\n"); |
| err = TestWriteToTheMandatoryAttributeTemperatureDisplayMode_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : read the mandatory attribute: TemperatureDisplayMode\n"); |
| err = TestReadTheMandatoryAttributeTemperatureDisplayMode_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : read the mandatory attribute: TemperatureDisplayMode\n"); |
| err = TestReadTheMandatoryAttributeTemperatureDisplayMode_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : read the mandatory attribute: KeypadLockout\n"); |
| err = TestReadTheMandatoryAttributeKeypadLockout_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : read the mandatory attribute: KeypadLockout\n"); |
| err = TestReadTheMandatoryAttributeKeypadLockout_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : write to the mandatory attribute: KeypadLockout\n"); |
| err = TestWriteToTheMandatoryAttributeKeypadLockout_7(); |
| break; |
| case 8: |
| ChipLogProgress(chipTool, " ***** Test Step 8 : read the mandatory attribute: KeypadLockout\n"); |
| err = TestReadTheMandatoryAttributeKeypadLockout_8(); |
| break; |
| case 9: |
| ChipLogProgress(chipTool, " ***** Test Step 9 : read the mandatory attribute: KeypadLockout\n"); |
| err = TestReadTheMandatoryAttributeKeypadLockout_9(); |
| break; |
| case 10: |
| ChipLogProgress(chipTool, " ***** Test Step 10 : read the optional attribute: ScheduleProgrammingVisibility\n"); |
| err = TestReadTheOptionalAttributeScheduleProgrammingVisibility_10(); |
| break; |
| case 11: |
| ChipLogProgress(chipTool, " ***** Test Step 11 : read the optional attribute: ScheduleProgrammingVisibility\n"); |
| err = TestReadTheOptionalAttributeScheduleProgrammingVisibility_11(); |
| break; |
| case 12: |
| ChipLogProgress(chipTool, " ***** Test Step 12 : write to the mandatory attribute: ScheduleProgrammingVisibility\n"); |
| err = TestWriteToTheMandatoryAttributeScheduleProgrammingVisibility_12(); |
| break; |
| case 13: |
| ChipLogProgress(chipTool, " ***** Test Step 13 : read the optional attribute: ScheduleProgrammingVisibility\n"); |
| err = TestReadTheOptionalAttributeScheduleProgrammingVisibility_13(); |
| break; |
| case 14: |
| ChipLogProgress(chipTool, " ***** Test Step 14 : read the optional attribute: ScheduleProgrammingVisibility\n"); |
| err = TestReadTheOptionalAttributeScheduleProgrammingVisibility_14(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 15; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t temperatureDisplayMode)> mOnSuccessCallback_0{ OnSuccessCallback_0, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t temperatureDisplayMode)> mOnSuccessCallback_1{ OnSuccessCallback_1, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t temperatureDisplayMode)> mOnSuccessCallback_2{ OnSuccessCallback_2, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t temperatureDisplayMode)> mOnSuccessCallback_3{ OnSuccessCallback_3, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t temperatureDisplayMode)> mOnSuccessCallback_4{ OnSuccessCallback_4, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t keypadLockout)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t keypadLockout)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t keypadLockout)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_8{ OnFailureCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t keypadLockout)> mOnSuccessCallback_8{ OnSuccessCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_9{ OnFailureCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t keypadLockout)> mOnSuccessCallback_9{ OnSuccessCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_10{ OnFailureCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t scheduleProgrammingVisibility)> mOnSuccessCallback_10{ |
| OnSuccessCallback_10, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_11{ OnFailureCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t scheduleProgrammingVisibility)> mOnSuccessCallback_11{ |
| OnSuccessCallback_11, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_12{ OnFailureCallback_12, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t scheduleProgrammingVisibility)> mOnSuccessCallback_12{ |
| OnSuccessCallback_12, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_13{ OnFailureCallback_13, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t scheduleProgrammingVisibility)> mOnSuccessCallback_13{ |
| OnSuccessCallback_13, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_14{ OnFailureCallback_14, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t scheduleProgrammingVisibility)> mOnSuccessCallback_14{ |
| OnSuccessCallback_14, this |
| }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, uint8_t temperatureDisplayMode) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_0(temperatureDisplayMode); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint8_t temperatureDisplayMode) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_1(temperatureDisplayMode); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t temperatureDisplayMode) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_2(temperatureDisplayMode); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint8_t temperatureDisplayMode) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_3(temperatureDisplayMode); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, uint8_t temperatureDisplayMode) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_4(temperatureDisplayMode); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, uint8_t keypadLockout) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_5(keypadLockout); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, uint8_t keypadLockout) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_6(keypadLockout); |
| } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, uint8_t keypadLockout) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_7(keypadLockout); |
| } |
| |
| static void OnFailureCallback_8(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_8(status); |
| } |
| |
| static void OnSuccessCallback_8(void * context, uint8_t keypadLockout) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_8(keypadLockout); |
| } |
| |
| static void OnFailureCallback_9(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_9(status); |
| } |
| |
| static void OnSuccessCallback_9(void * context, uint8_t keypadLockout) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_9(keypadLockout); |
| } |
| |
| static void OnFailureCallback_10(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_10(status); |
| } |
| |
| static void OnSuccessCallback_10(void * context, uint8_t scheduleProgrammingVisibility) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_10(scheduleProgrammingVisibility); |
| } |
| |
| static void OnFailureCallback_11(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_11(status); |
| } |
| |
| static void OnSuccessCallback_11(void * context, uint8_t scheduleProgrammingVisibility) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_11(scheduleProgrammingVisibility); |
| } |
| |
| static void OnFailureCallback_12(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_12(status); |
| } |
| |
| static void OnSuccessCallback_12(void * context, uint8_t scheduleProgrammingVisibility) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_12(scheduleProgrammingVisibility); |
| } |
| |
| static void OnFailureCallback_13(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_13(status); |
| } |
| |
| static void OnSuccessCallback_13(void * context, uint8_t scheduleProgrammingVisibility) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_13(scheduleProgrammingVisibility); |
| } |
| |
| static void OnFailureCallback_14(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnFailureResponse_14(status); |
| } |
| |
| static void OnSuccessCallback_14(void * context, uint8_t scheduleProgrammingVisibility) |
| { |
| (static_cast<Test_TC_TSUIC_2_1 *>(context))->OnSuccessResponse_14(scheduleProgrammingVisibility); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeTemperatureDisplayMode_0() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeTemperatureDisplayMode(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(uint8_t temperatureDisplayMode) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("temperatureDisplayMode", temperatureDisplayMode, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeTemperatureDisplayMode_1() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeTemperatureDisplayMode(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint8_t temperatureDisplayMode) |
| { |
| VerifyOrReturn(CheckConstraintType("temperatureDisplayMode", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteToTheMandatoryAttributeTemperatureDisplayMode_2() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t temperatureDisplayModeArgument = 0; |
| |
| return cluster.WriteAttributeTemperatureDisplayMode(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), |
| temperatureDisplayModeArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t temperatureDisplayMode) { NextTest(); } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeTemperatureDisplayMode_3() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeTemperatureDisplayMode(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint8_t temperatureDisplayMode) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("temperatureDisplayMode", temperatureDisplayMode, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeTemperatureDisplayMode_4() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeTemperatureDisplayMode(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(uint8_t temperatureDisplayMode) |
| { |
| VerifyOrReturn(CheckConstraintType("temperatureDisplayMode", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeKeypadLockout_5() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeKeypadLockout(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(uint8_t keypadLockout) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("keypadLockout", keypadLockout, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeKeypadLockout_6() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeKeypadLockout(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(uint8_t keypadLockout) |
| { |
| VerifyOrReturn(CheckConstraintType("keypadLockout", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteToTheMandatoryAttributeKeypadLockout_7() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t keypadLockoutArgument = 0; |
| |
| return cluster.WriteAttributeKeypadLockout(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel(), |
| keypadLockoutArgument); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(uint8_t keypadLockout) { NextTest(); } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeKeypadLockout_8() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeKeypadLockout(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel()); |
| } |
| |
| void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_8(uint8_t keypadLockout) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("keypadLockout", keypadLockout, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeKeypadLockout_9() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeKeypadLockout(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel()); |
| } |
| |
| void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_9(uint8_t keypadLockout) |
| { |
| VerifyOrReturn(CheckConstraintType("keypadLockout", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheOptionalAttributeScheduleProgrammingVisibility_10() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeScheduleProgrammingVisibility(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel()); |
| } |
| |
| void OnFailureResponse_10(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_10(uint8_t scheduleProgrammingVisibility) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("scheduleProgrammingVisibility", scheduleProgrammingVisibility, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheOptionalAttributeScheduleProgrammingVisibility_11() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeScheduleProgrammingVisibility(mOnSuccessCallback_11.Cancel(), mOnFailureCallback_11.Cancel()); |
| } |
| |
| void OnFailureResponse_11(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_11(uint8_t scheduleProgrammingVisibility) |
| { |
| VerifyOrReturn(CheckConstraintType("scheduleProgrammingVisibility", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestWriteToTheMandatoryAttributeScheduleProgrammingVisibility_12() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t scheduleProgrammingVisibilityArgument = 0; |
| |
| return cluster.WriteAttributeScheduleProgrammingVisibility(mOnSuccessCallback_12.Cancel(), mOnFailureCallback_12.Cancel(), |
| scheduleProgrammingVisibilityArgument); |
| } |
| |
| void OnFailureResponse_12(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_12(uint8_t scheduleProgrammingVisibility) { NextTest(); } |
| |
| CHIP_ERROR TestReadTheOptionalAttributeScheduleProgrammingVisibility_13() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeScheduleProgrammingVisibility(mOnSuccessCallback_13.Cancel(), mOnFailureCallback_13.Cancel()); |
| } |
| |
| void OnFailureResponse_13(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_13(uint8_t scheduleProgrammingVisibility) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("scheduleProgrammingVisibility", scheduleProgrammingVisibility, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheOptionalAttributeScheduleProgrammingVisibility_14() |
| { |
| chip::Controller::ThermostatUserInterfaceConfigurationClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeScheduleProgrammingVisibility(mOnSuccessCallback_14.Cancel(), mOnFailureCallback_14.Cancel()); |
| } |
| |
| void OnFailureResponse_14(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_14(uint8_t scheduleProgrammingVisibility) |
| { |
| VerifyOrReturn(CheckConstraintType("scheduleProgrammingVisibility", "", "enum8")); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_PCC_2_1 : public TestCommand |
| { |
| public: |
| Test_TC_PCC_2_1() : TestCommand("Test_TC_PCC_2_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_PCC_2_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_PCC_2_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : read the mandatory attribute: MaxPressure\n"); |
| err = TestReadTheMandatoryAttributeMaxPressure_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : read the mandatory attribute: EffectiveOperationMode\n"); |
| err = TestReadTheMandatoryAttributeEffectiveOperationMode_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : read the mandatory attribute: EffectiveControlMode\n"); |
| err = TestReadTheMandatoryAttributeEffectiveControlMode_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : read the mandatory attribute: Capacity\n"); |
| err = TestReadTheMandatoryAttributeCapacity_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : read the mandatory attribute: MaxPressure\n"); |
| err = TestReadTheMandatoryAttributeMaxPressure_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : read the mandatory attribute: EffectiveOperationMode\n"); |
| err = TestReadTheMandatoryAttributeEffectiveOperationMode_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : read the mandatory attribute: EffectiveControlMode\n"); |
| err = TestReadTheMandatoryAttributeEffectiveControlMode_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : read the mandatory attribute: Capacity\n"); |
| err = TestReadTheMandatoryAttributeCapacity_7(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 8; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t maxPressure)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t effectiveOperationMode)> mOnSuccessCallback_1{ OnSuccessCallback_1, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t effectiveControlMode)> mOnSuccessCallback_2{ OnSuccessCallback_2, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t capacity)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t maxPressure)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t effectiveOperationMode)> mOnSuccessCallback_5{ OnSuccessCallback_5, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t effectiveControlMode)> mOnSuccessCallback_6{ OnSuccessCallback_6, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, int16_t capacity)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context, int16_t maxPressure) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnSuccessResponse_0(maxPressure); |
| } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, uint8_t effectiveOperationMode) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnSuccessResponse_1(effectiveOperationMode); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context, uint8_t effectiveControlMode) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnSuccessResponse_2(effectiveControlMode); |
| } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, int16_t capacity) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnSuccessResponse_3(capacity); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, int16_t maxPressure) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnSuccessResponse_4(maxPressure); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, uint8_t effectiveOperationMode) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnSuccessResponse_5(effectiveOperationMode); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, uint8_t effectiveControlMode) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnSuccessResponse_6(effectiveControlMode); |
| } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, int16_t capacity) |
| { |
| (static_cast<Test_TC_PCC_2_1 *>(context))->OnSuccessResponse_7(capacity); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeMaxPressure_0() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeMaxPressure(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0(int16_t maxPressure) |
| { |
| VerifyOrReturn(CheckConstraintType("maxPressure", "", "int16")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeEffectiveOperationMode_1() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEffectiveOperationMode(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(uint8_t effectiveOperationMode) |
| { |
| VerifyOrReturn(CheckConstraintType("effectiveOperationMode", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeEffectiveControlMode_2() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEffectiveControlMode(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel()); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2(uint8_t effectiveControlMode) |
| { |
| VerifyOrReturn(CheckConstraintType("effectiveControlMode", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeCapacity_3() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeCapacity(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(int16_t capacity) |
| { |
| VerifyOrReturn(CheckConstraintType("capacity", "", "int16")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeMaxPressure_4() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeMaxPressure(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(int16_t maxPressure) |
| { |
| VerifyOrReturn(CheckConstraintType("maxPressure", "", "int16")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeEffectiveOperationMode_5() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEffectiveOperationMode(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(uint8_t effectiveOperationMode) |
| { |
| VerifyOrReturn(CheckConstraintType("effectiveOperationMode", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeEffectiveControlMode_6() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeEffectiveControlMode(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(uint8_t effectiveControlMode) |
| { |
| VerifyOrReturn(CheckConstraintType("effectiveControlMode", "", "enum8")); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestReadTheMandatoryAttributeCapacity_7() |
| { |
| chip::Controller::PumpConfigurationAndControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeCapacity(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(int16_t capacity) |
| { |
| VerifyOrReturn(CheckConstraintType("capacity", "", "int16")); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_3_1 : public TestCommand |
| { |
| public: |
| Test_TC_CC_3_1() : TestCommand("Test_TC_CC_3_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_3_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_3_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move to hue shortest distance command\n"); |
| err = TestMoveToHueShortestDistanceCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Move to hue longest distance command\n"); |
| err = TestMoveToHueLongestDistanceCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Move to hue up command\n"); |
| err = TestMoveToHueUpCommand_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Move to hue down command\n"); |
| err = TestMoveToHueDownCommand_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_7(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 8; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_3_1 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_3_1 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_3_1 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_3_1 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context) { (static_cast<Test_TC_CC_3_1 *>(context))->OnSuccessResponse_5(); } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context) { (static_cast<Test_TC_CC_3_1 *>(context))->OnSuccessResponse_6(); } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_3_1 *>(context))->OnSuccessResponse_7(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveToHueShortestDistanceCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t hueArgument = 150; |
| uint8_t directionArgument = 0; |
| uint16_t transitionTimeArgument = 100U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveToHue(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), hueArgument, directionArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestMoveToHueLongestDistanceCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t hueArgument = 200; |
| uint8_t directionArgument = 1; |
| uint16_t transitionTimeArgument = 100U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveToHue(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), hueArgument, directionArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestMoveToHueUpCommand_4() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t hueArgument = 250; |
| uint8_t directionArgument = 2; |
| uint16_t transitionTimeArgument = 100U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveToHue(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel(), hueArgument, directionArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestMoveToHueDownCommand_5() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t hueArgument = 225; |
| uint8_t directionArgument = 3; |
| uint16_t transitionTimeArgument = 100U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveToHue(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel(), hueArgument, directionArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_6() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_7() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_3_2 : public TestCommand |
| { |
| public: |
| Test_TC_CC_3_2() : TestCommand("Test_TC_CC_3_2"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_3_2\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_3_2\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move hue up command\n"); |
| err = TestMoveHueUpCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Move hue stop command\n"); |
| err = TestMoveHueStopCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Move hue down command\n"); |
| err = TestMoveHueDownCommand_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Move hue stop command\n"); |
| err = TestMoveHueStopCommand_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_7(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 8; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_3_2 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_3_2 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_3_2 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_3_2 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context) { (static_cast<Test_TC_CC_3_2 *>(context))->OnSuccessResponse_5(); } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context) { (static_cast<Test_TC_CC_3_2 *>(context))->OnSuccessResponse_6(); } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_3_2 *>(context))->OnSuccessResponse_7(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveHueUpCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 1; |
| uint8_t rateArgument = 50; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveHue(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestMoveHueStopCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 0; |
| uint8_t rateArgument = 50; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveHue(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestMoveHueDownCommand_4() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 3; |
| uint8_t rateArgument = 50; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveHue(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestMoveHueStopCommand_5() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 0; |
| uint8_t rateArgument = 50; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveHue(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_6() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_7() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_3_3 : public TestCommand |
| { |
| public: |
| Test_TC_CC_3_3() : TestCommand("Test_TC_CC_3_3"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_3_3\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_3_3\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Step hue up command\n"); |
| err = TestStepHueUpCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Step hue down command\n"); |
| err = TestStepHueDownCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_3 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_3_3 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_3 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_3_3 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_3 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_3_3 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_3 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_3_3 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_3 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_3_3 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_3_3 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_3_3 *>(context))->OnSuccessResponse_5(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestStepHueUpCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t stepModeArgument = 1; |
| uint8_t stepSizeArgument = 5; |
| uint8_t transitionTimeArgument = 25; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.StepHue(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), stepModeArgument, stepSizeArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestStepHueDownCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t stepModeArgument = 3; |
| uint8_t stepSizeArgument = 5; |
| uint8_t transitionTimeArgument = 25; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.StepHue(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), stepModeArgument, stepSizeArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_4_1 : public TestCommand |
| { |
| public: |
| Test_TC_CC_4_1() : TestCommand("Test_TC_CC_4_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_4_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_4_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move to saturation command\n"); |
| err = TestMoveToSaturationCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 5; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_4_1 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_4_1 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_4_1 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_4_1 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_4_1 *>(context))->OnSuccessResponse_4(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveToSaturationCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t saturationArgument = 90; |
| uint16_t transitionTimeArgument = 10U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveToSaturation(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), saturationArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_4_2 : public TestCommand |
| { |
| public: |
| Test_TC_CC_4_2() : TestCommand("Test_TC_CC_4_2"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_4_2\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_4_2\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move saturation up command\n"); |
| err = TestMoveSaturationUpCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Move saturation down command\n"); |
| err = TestMoveSaturationDownCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_2 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_4_2 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_2 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_4_2 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_2 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_4_2 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_2 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_4_2 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_2 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_4_2 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_2 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_4_2 *>(context))->OnSuccessResponse_5(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveSaturationUpCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 1; |
| uint8_t rateArgument = 5; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveSaturation(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestMoveSaturationDownCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 3; |
| uint8_t rateArgument = 5; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveSaturation(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_4_3 : public TestCommand |
| { |
| public: |
| Test_TC_CC_4_3() : TestCommand("Test_TC_CC_4_3"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_4_3\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_4_3\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Step saturation up command\n"); |
| err = TestStepSaturationUpCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Step saturation down command\n"); |
| err = TestStepSaturationDownCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_3 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_4_3 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_3 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_4_3 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_3 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_4_3 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_3 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_4_3 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_3 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_4_3 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_3 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_4_3 *>(context))->OnSuccessResponse_5(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestStepSaturationUpCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t stepModeArgument = 1; |
| uint8_t stepSizeArgument = 15; |
| uint8_t transitionTimeArgument = 10; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.StepSaturation(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), stepModeArgument, |
| stepSizeArgument, transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestStepSaturationDownCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t stepModeArgument = 3; |
| uint8_t stepSizeArgument = 20; |
| uint8_t transitionTimeArgument = 10; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.StepSaturation(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), stepModeArgument, |
| stepSizeArgument, transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_4_4 : public TestCommand |
| { |
| public: |
| Test_TC_CC_4_4() : TestCommand("Test_TC_CC_4_4"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_4_4\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_4_4\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move To current hue and saturation command\n"); |
| err = TestMoveToCurrentHueAndSaturationCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 5; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_4 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_4_4 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_4 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_4_4 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_4 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_4_4 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_4 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_4_4 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_4_4 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_4_4 *>(context))->OnSuccessResponse_4(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveToCurrentHueAndSaturationCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t hueArgument = 40; |
| uint8_t saturationArgument = 160; |
| uint16_t transitionTimeArgument = 10U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveToHueAndSaturation(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), hueArgument, |
| saturationArgument, transitionTimeArgument, optionsMaskArgument, |
| optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_5_1 : public TestCommand |
| { |
| public: |
| Test_TC_CC_5_1() : TestCommand("Test_TC_CC_5_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_5_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_5_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move to Color command\n"); |
| err = TestMoveToColorCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 5; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_5_1 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_5_1 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_5_1 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_5_1 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_5_1 *>(context))->OnSuccessResponse_4(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveToColorCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t colorXArgument = 200U; |
| uint16_t colorYArgument = 300U; |
| uint16_t transitionTimeArgument = 20U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveToColor(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), colorXArgument, colorYArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_5_2 : public TestCommand |
| { |
| public: |
| Test_TC_CC_5_2() : TestCommand("Test_TC_CC_5_2"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_5_2\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_5_2\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move Color command\n"); |
| err = TestMoveColorCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Stop Move Step command\n"); |
| err = TestStopMoveStepCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_2 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_5_2 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_2 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_5_2 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_2 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_5_2 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_2 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_5_2 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_2 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_5_2 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_2 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_5_2 *>(context))->OnSuccessResponse_5(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveColorCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int16_t rateXArgument = 15; |
| int16_t rateYArgument = 20; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveColor(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), rateXArgument, rateYArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestStopMoveStepCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.StopMoveStep(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), optionsMaskArgument, |
| optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_5_3 : public TestCommand |
| { |
| public: |
| Test_TC_CC_5_3() : TestCommand("Test_TC_CC_5_3"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_5_3\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_5_3\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Step Color command\n"); |
| err = TestStepColorCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 5; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_3 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_5_3 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_3 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_5_3 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_3 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_5_3 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_3 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_5_3 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_5_3 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_5_3 *>(context))->OnSuccessResponse_4(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestStepColorCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| int16_t stepXArgument = 15; |
| int16_t stepYArgument = 20; |
| uint16_t transitionTimeArgument = 50U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.StepColor(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), stepXArgument, stepYArgument, |
| transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_6_1 : public TestCommand |
| { |
| public: |
| Test_TC_CC_6_1() : TestCommand("Test_TC_CC_6_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_6_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_6_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move To Color Temperature command\n"); |
| err = TestMoveToColorTemperatureCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 5; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_6_1 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_6_1 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_6_1 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_6_1 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_6_1 *>(context))->OnSuccessResponse_4(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveToColorTemperatureCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t colorTemperatureArgument = 100U; |
| uint16_t transitionTimeArgument = 10U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveToColorTemperature(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), |
| colorTemperatureArgument, transitionTimeArgument, optionsMaskArgument, |
| optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_6_2 : public TestCommand |
| { |
| public: |
| Test_TC_CC_6_2() : TestCommand("Test_TC_CC_6_2"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_6_2\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_6_2\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Move up color temperature command\n"); |
| err = TestMoveUpColorTemperatureCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Stop Color Temperature command\n"); |
| err = TestStopColorTemperatureCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Move down color temperature command\n"); |
| err = TestMoveDownColorTemperatureCommand_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_6(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 7; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_6_2 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_6_2 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_6_2 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_6_2 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context) { (static_cast<Test_TC_CC_6_2 *>(context))->OnSuccessResponse_5(); } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_6_2 *>(context))->OnSuccessResponse_6(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestMoveUpColorTemperatureCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 1; |
| uint16_t rateArgument = 10U; |
| uint16_t colorTemperatureMinimumArgument = 1U; |
| uint16_t colorTemperatureMaximumArgument = 255U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveColorTemperature(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), moveModeArgument, |
| rateArgument, colorTemperatureMinimumArgument, colorTemperatureMaximumArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestStopColorTemperatureCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 0; |
| uint16_t rateArgument = 10U; |
| uint16_t colorTemperatureMinimumArgument = 1U; |
| uint16_t colorTemperatureMaximumArgument = 255U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveColorTemperature(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), moveModeArgument, |
| rateArgument, colorTemperatureMinimumArgument, colorTemperatureMaximumArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestMoveDownColorTemperatureCommand_4() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 3; |
| uint16_t rateArgument = 20U; |
| uint16_t colorTemperatureMinimumArgument = 1U; |
| uint16_t colorTemperatureMaximumArgument = 255U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.MoveColorTemperature(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel(), moveModeArgument, |
| rateArgument, colorTemperatureMinimumArgument, colorTemperatureMaximumArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_6() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_6_3 : public TestCommand |
| { |
| public: |
| Test_TC_CC_6_3() : TestCommand("Test_TC_CC_6_3"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_6_3\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_6_3\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Step up color temperature command\n"); |
| err = TestStepUpColorTemperatureCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Step down color temperature command\n"); |
| err = TestStepDownColorTemperatureCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_3 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_6_3 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_3 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_6_3 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_3 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_6_3 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_3 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_6_3 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_3 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_6_3 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_6_3 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_6_3 *>(context))->OnSuccessResponse_5(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestStepUpColorTemperatureCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t stepModeArgument = 1; |
| uint16_t stepSizeArgument = 5U; |
| uint16_t transitionTimeArgument = 50U; |
| uint16_t colorTemperatureMinimumArgument = 5U; |
| uint16_t colorTemperatureMaximumArgument = 100U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.StepColorTemperature(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), stepModeArgument, |
| stepSizeArgument, transitionTimeArgument, colorTemperatureMinimumArgument, |
| colorTemperatureMaximumArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestStepDownColorTemperatureCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t stepModeArgument = 3; |
| uint16_t stepSizeArgument = 5U; |
| uint16_t transitionTimeArgument = 50U; |
| uint16_t colorTemperatureMinimumArgument = 5U; |
| uint16_t colorTemperatureMaximumArgument = 100U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.StepColorTemperature(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), stepModeArgument, |
| stepSizeArgument, transitionTimeArgument, colorTemperatureMinimumArgument, |
| colorTemperatureMaximumArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_7_1 : public TestCommand |
| { |
| public: |
| Test_TC_CC_7_1() : TestCommand("Test_TC_CC_7_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_7_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_7_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Enhanced Move To Hue command\n"); |
| err = TestEnhancedMoveToHueCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress( |
| chipTool, " ***** Test Step 3 : Check Remaining time attribute value matched the value sent by the last command\n"); |
| err = TestCheckRemainingTimeAttributeValueMatchedTheValueSentByTheLastCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t remainingTime)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_7_1 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_7_1 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint16_t remainingTime) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnSuccessResponse_3(remainingTime); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_7_1 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_7_1 *>(context))->OnSuccessResponse_5(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestEnhancedMoveToHueCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t enhancedHueArgument = 1025U; |
| uint8_t directionArgument = 0; |
| uint16_t transitionTimeArgument = 1U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.EnhancedMoveToHue(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), enhancedHueArgument, |
| directionArgument, transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestCheckRemainingTimeAttributeValueMatchedTheValueSentByTheLastCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeRemainingTime(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint16_t remainingTime) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("remainingTime", remainingTime, 1U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_7_2 : public TestCommand |
| { |
| public: |
| Test_TC_CC_7_2() : TestCommand("Test_TC_CC_7_2"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_7_2\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_7_2\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Enhanced Move Hue Down command \n"); |
| err = TestEnhancedMoveHueDownCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Enhanced Move Hue Stop command\n"); |
| err = TestEnhancedMoveHueStopCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Enhanced Move Hue Up command\n"); |
| err = TestEnhancedMoveHueUpCommand_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Enhanced Move Hue Stop command\n"); |
| err = TestEnhancedMoveHueStopCommand_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_7(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 8; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_7_2 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_7_2 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_7_2 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_7_2 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context) { (static_cast<Test_TC_CC_7_2 *>(context))->OnSuccessResponse_5(); } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context) { (static_cast<Test_TC_CC_7_2 *>(context))->OnSuccessResponse_6(); } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_7_2 *>(context))->OnSuccessResponse_7(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestEnhancedMoveHueDownCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 3; |
| uint16_t rateArgument = 5U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.EnhancedMoveHue(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestEnhancedMoveHueStopCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 0; |
| uint16_t rateArgument = 0U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.EnhancedMoveHue(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestEnhancedMoveHueUpCommand_4() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 1; |
| uint16_t rateArgument = 50U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.EnhancedMoveHue(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestEnhancedMoveHueStopCommand_5() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t moveModeArgument = 0; |
| uint16_t rateArgument = 0U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.EnhancedMoveHue(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel(), moveModeArgument, rateArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_6() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_7() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel()); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_7_3 : public TestCommand |
| { |
| public: |
| Test_TC_CC_7_3() : TestCommand("Test_TC_CC_7_3"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_7_3\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_7_3\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Enhanced Step Hue Up command\n"); |
| err = TestEnhancedStepHueUpCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Enhanced Step Hue Down command\n"); |
| err = TestEnhancedStepHueDownCommand_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 6; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_5{ OnSuccessCallback_5, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_3 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_7_3 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_3 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_7_3 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_3 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_7_3 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_3 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_7_3 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_3 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context) { (static_cast<Test_TC_CC_7_3 *>(context))->OnSuccessResponse_4(); } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_3 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_7_3 *>(context))->OnSuccessResponse_5(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestEnhancedStepHueUpCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t stepModeArgument = 0; |
| uint16_t stepSizeArgument = 50U; |
| uint16_t transitionTimeArgument = 1U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.EnhancedStepHue(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), stepModeArgument, |
| stepSizeArgument, transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestEnhancedStepHueDownCommand_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t stepModeArgument = 1; |
| uint16_t stepSizeArgument = 75U; |
| uint16_t transitionTimeArgument = 1U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.EnhancedStepHue(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel(), stepModeArgument, |
| stepSizeArgument, transitionTimeArgument, optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_5() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_7_4 : public TestCommand |
| { |
| public: |
| Test_TC_CC_7_4() : TestCommand("Test_TC_CC_7_4"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_7_4\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_7_4\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Enhanced move to hue and saturation command\n"); |
| err = TestEnhancedMoveToHueAndSaturationCommand_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 5; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_3{ OnSuccessCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_4 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_7_4 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_4 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_7_4 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_4 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_7_4 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_4 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context) { (static_cast<Test_TC_CC_7_4 *>(context))->OnSuccessResponse_3(); } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_7_4 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_7_4 *>(context))->OnSuccessResponse_4(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestEnhancedMoveToHueAndSaturationCommand_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint16_t enhancedHueArgument = 1200U; |
| uint8_t saturationArgument = 90; |
| uint16_t transitionTimeArgument = 10U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.EnhancedMoveToHueAndSaturation(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), |
| enhancedHueArgument, saturationArgument, transitionTimeArgument, |
| optionsMaskArgument, optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_3() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_4() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| class Test_TC_CC_8_1 : public TestCommand |
| { |
| public: |
| Test_TC_CC_8_1() : TestCommand("Test_TC_CC_8_1"), mTestIndex(0) {} |
| |
| /////////// TestCommand Interface ///////// |
| void NextTest() override |
| { |
| CHIP_ERROR err = CHIP_NO_ERROR; |
| |
| if (0 == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Start: Test_TC_CC_8_1\n"); |
| } |
| |
| if (mTestCount == mTestIndex) |
| { |
| ChipLogProgress(chipTool, " **** Test Complete: Test_TC_CC_8_1\n"); |
| SetCommandExitStatus(CHIP_NO_ERROR); |
| return; |
| } |
| |
| // Ensure we increment mTestIndex before we start running the relevant |
| // command. That way if we lose the timeslice after we send the message |
| // but before our function call returns, we won't end up with an |
| // incorrect mTestIndex value observed when we get the response. |
| switch (mTestIndex++) |
| { |
| case 0: |
| ChipLogProgress(chipTool, " ***** Test Step 0 : Turn on light for color control tests\n"); |
| err = TestTurnOnLightForColorControlTests_0(); |
| break; |
| case 1: |
| ChipLogProgress(chipTool, " ***** Test Step 1 : Check on/off attribute value is true after on command\n"); |
| err = TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1(); |
| break; |
| case 2: |
| ChipLogProgress(chipTool, " ***** Test Step 2 : Color Loop Set Command - Set all Attributs\n"); |
| err = TestColorLoopSetCommandSetAllAttributs_2(); |
| break; |
| case 3: |
| ChipLogProgress(chipTool, " ***** Test Step 3 : Check ColorLoopDirection Value\n"); |
| err = TestCheckColorLoopDirectionValue_3(); |
| break; |
| case 4: |
| ChipLogProgress(chipTool, " ***** Test Step 4 : Check ColorLoopTime Value\n"); |
| err = TestCheckColorLoopTimeValue_4(); |
| break; |
| case 5: |
| ChipLogProgress(chipTool, " ***** Test Step 5 : Check ColorLoopStartEnhancedHue Value\n"); |
| err = TestCheckColorLoopStartEnhancedHueValue_5(); |
| break; |
| case 6: |
| ChipLogProgress(chipTool, " ***** Test Step 6 : Check ColorLoopActive Value\n"); |
| err = TestCheckColorLoopActiveValue_6(); |
| break; |
| case 7: |
| ChipLogProgress(chipTool, " ***** Test Step 7 : Color Loop Set Command - Start Color Loop\n"); |
| err = TestColorLoopSetCommandStartColorLoop_7(); |
| break; |
| case 8: |
| ChipLogProgress(chipTool, " ***** Test Step 8 : Check ColorLoopActive Value\n"); |
| err = TestCheckColorLoopActiveValue_8(); |
| break; |
| case 9: |
| ChipLogProgress(chipTool, " ***** Test Step 9 : Color Loop Set Command - Set direction and time while running\n"); |
| err = TestColorLoopSetCommandSetDirectionAndTimeWhileRunning_9(); |
| break; |
| case 10: |
| ChipLogProgress(chipTool, " ***** Test Step 10 : Check ColorLoopDirection Value\n"); |
| err = TestCheckColorLoopDirectionValue_10(); |
| break; |
| case 11: |
| ChipLogProgress(chipTool, " ***** Test Step 11 : Check ColorLoopTime Value\n"); |
| err = TestCheckColorLoopTimeValue_11(); |
| break; |
| case 12: |
| ChipLogProgress(chipTool, " ***** Test Step 12 : Color Loop Set Command - Set direction while running\n"); |
| err = TestColorLoopSetCommandSetDirectionWhileRunning_12(); |
| break; |
| case 13: |
| ChipLogProgress(chipTool, " ***** Test Step 13 : Check ColorLoopDirection Value\n"); |
| err = TestCheckColorLoopDirectionValue_13(); |
| break; |
| case 14: |
| ChipLogProgress(chipTool, " ***** Test Step 14 : Turn off light that we turned on\n"); |
| err = TestTurnOffLightThatWeTurnedOn_14(); |
| break; |
| case 15: |
| ChipLogProgress(chipTool, " ***** Test Step 15 : Check on/off attribute value is false after off command\n"); |
| err = TestCheckOnOffAttributeValueIsFalseAfterOffCommand_15(); |
| break; |
| } |
| |
| if (CHIP_NO_ERROR != err) |
| { |
| ChipLogError(chipTool, " ***** Test Failure: %s\n", chip::ErrorStr(err)); |
| SetCommandExitStatus(err); |
| } |
| } |
| |
| private: |
| std::atomic_uint16_t mTestIndex; |
| const uint16_t mTestCount = 16; |
| |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_0{ OnFailureCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_0{ OnSuccessCallback_0, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_1{ OnFailureCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_1{ OnSuccessCallback_1, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_2{ OnFailureCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_2{ OnSuccessCallback_2, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_3{ OnFailureCallback_3, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t colorLoopDirection)> mOnSuccessCallback_3{ OnSuccessCallback_3, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_4{ OnFailureCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t colorLoopTime)> mOnSuccessCallback_4{ OnSuccessCallback_4, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_5{ OnFailureCallback_5, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t colorLoopStartEnhancedHue)> mOnSuccessCallback_5{ |
| OnSuccessCallback_5, this |
| }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_6{ OnFailureCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t colorLoopActive)> mOnSuccessCallback_6{ OnSuccessCallback_6, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_7{ OnFailureCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_7{ OnSuccessCallback_7, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_8{ OnFailureCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t colorLoopActive)> mOnSuccessCallback_8{ OnSuccessCallback_8, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_9{ OnFailureCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_9{ OnSuccessCallback_9, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_10{ OnFailureCallback_10, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t colorLoopDirection)> mOnSuccessCallback_10{ OnSuccessCallback_10, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_11{ OnFailureCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, uint16_t colorLoopTime)> mOnSuccessCallback_11{ OnSuccessCallback_11, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_12{ OnFailureCallback_12, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_12{ OnSuccessCallback_12, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_13{ OnFailureCallback_13, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t colorLoopDirection)> mOnSuccessCallback_13{ OnSuccessCallback_13, |
| this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_14{ OnFailureCallback_14, this }; |
| chip::Callback::Callback<void (*)(void * context)> mOnSuccessCallback_14{ OnSuccessCallback_14, this }; |
| chip::Callback::Callback<void (*)(void * context, uint8_t status)> mOnFailureCallback_15{ OnFailureCallback_15, this }; |
| chip::Callback::Callback<void (*)(void * context, bool onOff)> mOnSuccessCallback_15{ OnSuccessCallback_15, this }; |
| |
| static void OnFailureCallback_0(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_0(status); |
| } |
| |
| static void OnSuccessCallback_0(void * context) { (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_0(); } |
| |
| static void OnFailureCallback_1(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_1(status); |
| } |
| |
| static void OnSuccessCallback_1(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_1(onOff); |
| } |
| |
| static void OnFailureCallback_2(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_2(status); |
| } |
| |
| static void OnSuccessCallback_2(void * context) { (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_2(); } |
| |
| static void OnFailureCallback_3(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_3(status); |
| } |
| |
| static void OnSuccessCallback_3(void * context, uint8_t colorLoopDirection) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_3(colorLoopDirection); |
| } |
| |
| static void OnFailureCallback_4(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_4(status); |
| } |
| |
| static void OnSuccessCallback_4(void * context, uint16_t colorLoopTime) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_4(colorLoopTime); |
| } |
| |
| static void OnFailureCallback_5(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_5(status); |
| } |
| |
| static void OnSuccessCallback_5(void * context, uint16_t colorLoopStartEnhancedHue) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_5(colorLoopStartEnhancedHue); |
| } |
| |
| static void OnFailureCallback_6(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_6(status); |
| } |
| |
| static void OnSuccessCallback_6(void * context, uint8_t colorLoopActive) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_6(colorLoopActive); |
| } |
| |
| static void OnFailureCallback_7(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_7(status); |
| } |
| |
| static void OnSuccessCallback_7(void * context) { (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_7(); } |
| |
| static void OnFailureCallback_8(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_8(status); |
| } |
| |
| static void OnSuccessCallback_8(void * context, uint8_t colorLoopActive) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_8(colorLoopActive); |
| } |
| |
| static void OnFailureCallback_9(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_9(status); |
| } |
| |
| static void OnSuccessCallback_9(void * context) { (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_9(); } |
| |
| static void OnFailureCallback_10(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_10(status); |
| } |
| |
| static void OnSuccessCallback_10(void * context, uint8_t colorLoopDirection) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_10(colorLoopDirection); |
| } |
| |
| static void OnFailureCallback_11(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_11(status); |
| } |
| |
| static void OnSuccessCallback_11(void * context, uint16_t colorLoopTime) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_11(colorLoopTime); |
| } |
| |
| static void OnFailureCallback_12(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_12(status); |
| } |
| |
| static void OnSuccessCallback_12(void * context) { (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_12(); } |
| |
| static void OnFailureCallback_13(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_13(status); |
| } |
| |
| static void OnSuccessCallback_13(void * context, uint8_t colorLoopDirection) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_13(colorLoopDirection); |
| } |
| |
| static void OnFailureCallback_14(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_14(status); |
| } |
| |
| static void OnSuccessCallback_14(void * context) { (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_14(); } |
| |
| static void OnFailureCallback_15(void * context, uint8_t status) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnFailureResponse_15(status); |
| } |
| |
| static void OnSuccessCallback_15(void * context, bool onOff) |
| { |
| (static_cast<Test_TC_CC_8_1 *>(context))->OnSuccessResponse_15(onOff); |
| } |
| |
| // |
| // Tests methods |
| // |
| |
| CHIP_ERROR TestTurnOnLightForColorControlTests_0() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.On(mOnSuccessCallback_0.Cancel(), mOnFailureCallback_0.Cancel()); |
| } |
| |
| void OnFailureResponse_0(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_0() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsTrueAfterOnCommand_1() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_1.Cancel(), mOnFailureCallback_1.Cancel()); |
| } |
| |
| void OnFailureResponse_1(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_1(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestColorLoopSetCommandSetAllAttributs_2() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t updateFlagsArgument = 14; |
| uint8_t actionArgument = 0; |
| uint8_t directionArgument = 1; |
| uint16_t timeArgument = 100U; |
| uint16_t startHueArgument = 500U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.ColorLoopSet(mOnSuccessCallback_2.Cancel(), mOnFailureCallback_2.Cancel(), updateFlagsArgument, |
| actionArgument, directionArgument, timeArgument, startHueArgument, optionsMaskArgument, |
| optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_2(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_2() { NextTest(); } |
| |
| CHIP_ERROR TestCheckColorLoopDirectionValue_3() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeColorLoopDirection(mOnSuccessCallback_3.Cancel(), mOnFailureCallback_3.Cancel()); |
| } |
| |
| void OnFailureResponse_3(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_3(uint8_t colorLoopDirection) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("colorLoopDirection", colorLoopDirection, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestCheckColorLoopTimeValue_4() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeColorLoopTime(mOnSuccessCallback_4.Cancel(), mOnFailureCallback_4.Cancel()); |
| } |
| |
| void OnFailureResponse_4(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_4(uint16_t colorLoopTime) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("colorLoopTime", colorLoopTime, 100U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestCheckColorLoopStartEnhancedHueValue_5() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeColorLoopStartEnhancedHue(mOnSuccessCallback_5.Cancel(), mOnFailureCallback_5.Cancel()); |
| } |
| |
| void OnFailureResponse_5(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_5(uint16_t colorLoopStartEnhancedHue) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("colorLoopStartEnhancedHue", colorLoopStartEnhancedHue, 500U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestCheckColorLoopActiveValue_6() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeColorLoopActive(mOnSuccessCallback_6.Cancel(), mOnFailureCallback_6.Cancel()); |
| } |
| |
| void OnFailureResponse_6(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_6(uint8_t colorLoopActive) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("colorLoopActive", colorLoopActive, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestColorLoopSetCommandStartColorLoop_7() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t updateFlagsArgument = 1; |
| uint8_t actionArgument = 1; |
| uint8_t directionArgument = 0; |
| uint16_t timeArgument = 0U; |
| uint16_t startHueArgument = 0U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.ColorLoopSet(mOnSuccessCallback_7.Cancel(), mOnFailureCallback_7.Cancel(), updateFlagsArgument, |
| actionArgument, directionArgument, timeArgument, startHueArgument, optionsMaskArgument, |
| optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_7(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_7() { NextTest(); } |
| |
| CHIP_ERROR TestCheckColorLoopActiveValue_8() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeColorLoopActive(mOnSuccessCallback_8.Cancel(), mOnFailureCallback_8.Cancel()); |
| } |
| |
| void OnFailureResponse_8(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_8(uint8_t colorLoopActive) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("colorLoopActive", colorLoopActive, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestColorLoopSetCommandSetDirectionAndTimeWhileRunning_9() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t updateFlagsArgument = 6; |
| uint8_t actionArgument = 0; |
| uint8_t directionArgument = 0; |
| uint16_t timeArgument = 3500U; |
| uint16_t startHueArgument = 0U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.ColorLoopSet(mOnSuccessCallback_9.Cancel(), mOnFailureCallback_9.Cancel(), updateFlagsArgument, |
| actionArgument, directionArgument, timeArgument, startHueArgument, optionsMaskArgument, |
| optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_9(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_9() { NextTest(); } |
| |
| CHIP_ERROR TestCheckColorLoopDirectionValue_10() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeColorLoopDirection(mOnSuccessCallback_10.Cancel(), mOnFailureCallback_10.Cancel()); |
| } |
| |
| void OnFailureResponse_10(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_10(uint8_t colorLoopDirection) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("colorLoopDirection", colorLoopDirection, 0)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestCheckColorLoopTimeValue_11() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeColorLoopTime(mOnSuccessCallback_11.Cancel(), mOnFailureCallback_11.Cancel()); |
| } |
| |
| void OnFailureResponse_11(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_11(uint16_t colorLoopTime) |
| { |
| VerifyOrReturn(CheckValue<uint16_t>("colorLoopTime", colorLoopTime, 3500U)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestColorLoopSetCommandSetDirectionWhileRunning_12() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| uint8_t updateFlagsArgument = 2; |
| uint8_t actionArgument = 0; |
| uint8_t directionArgument = 1; |
| uint16_t timeArgument = 0U; |
| uint16_t startHueArgument = 0U; |
| uint8_t optionsMaskArgument = 0; |
| uint8_t optionsOverrideArgument = 0; |
| |
| return cluster.ColorLoopSet(mOnSuccessCallback_12.Cancel(), mOnFailureCallback_12.Cancel(), updateFlagsArgument, |
| actionArgument, directionArgument, timeArgument, startHueArgument, optionsMaskArgument, |
| optionsOverrideArgument); |
| } |
| |
| void OnFailureResponse_12(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_12() { NextTest(); } |
| |
| CHIP_ERROR TestCheckColorLoopDirectionValue_13() |
| { |
| chip::Controller::ColorControlClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeColorLoopDirection(mOnSuccessCallback_13.Cancel(), mOnFailureCallback_13.Cancel()); |
| } |
| |
| void OnFailureResponse_13(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_13(uint8_t colorLoopDirection) |
| { |
| VerifyOrReturn(CheckValue<uint8_t>("colorLoopDirection", colorLoopDirection, 1)); |
| NextTest(); |
| } |
| |
| CHIP_ERROR TestTurnOffLightThatWeTurnedOn_14() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.Off(mOnSuccessCallback_14.Cancel(), mOnFailureCallback_14.Cancel()); |
| } |
| |
| void OnFailureResponse_14(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_14() { NextTest(); } |
| |
| CHIP_ERROR TestCheckOnOffAttributeValueIsFalseAfterOffCommand_15() |
| { |
| chip::Controller::OnOffClusterTest cluster; |
| cluster.Associate(mDevice, 1); |
| |
| return cluster.ReadAttributeOnOff(mOnSuccessCallback_15.Cancel(), mOnFailureCallback_15.Cancel()); |
| } |
| |
| void OnFailureResponse_15(uint8_t status) { ThrowFailureResponse(); } |
| |
| void OnSuccessResponse_15(bool onOff) |
| { |
| VerifyOrReturn(CheckValue<bool>("onOff", onOff, 0)); |
| NextTest(); |
| } |
| }; |
| |
| void registerCommandsTests(Commands & commands) |
| { |
| const char * clusterName = "Tests"; |
| |
| commands_list clusterCommands = { |
| make_unique<TV_TargetNavigatorCluster>(), |
| make_unique<TV_AudioOutputCluster>(), |
| make_unique<TV_ApplicationLauncherCluster>(), |
| make_unique<TV_KeypadInputCluster>(), |
| make_unique<TV_AccountLoginCluster>(), |
| make_unique<TV_WakeOnLanCluster>(), |
| make_unique<TV_ApplicationBasicCluster>(), |
| make_unique<TV_MediaPlaybackCluster>(), |
| make_unique<TV_TvChannelCluster>(), |
| make_unique<TV_LowPowerCluster>(), |
| make_unique<TV_MediaInputCluster>(), |
| make_unique<TestCluster>(), |
| make_unique<TestConstraints>(), |
| make_unique<TestDelayCommands>(), |
| make_unique<TestDescriptorCluster>(), |
| make_unique<TestSubscribe_OnOff>(), |
| make_unique<Test_TC_OO_1_1>(), |
| make_unique<Test_TC_OO_2_1>(), |
| make_unique<Test_TC_OO_2_2>(), |
| make_unique<Test_TC_DM_1_1>(), |
| make_unique<Test_TC_DM_3_1>(), |
| make_unique<Test_TC_WNCV_1_1>(), |
| make_unique<Test_TC_WNCV_2_1>(), |
| make_unique<Test_TC_WNCV_3_1>(), |
| make_unique<Test_TC_WNCV_3_2>(), |
| make_unique<Test_TC_WNCV_3_3>(), |
| make_unique<Test_TC_BI_1_1>(), |
| make_unique<Test_TC_FLW_1_1>(), |
| make_unique<Test_TC_TM_1_1>(), |
| make_unique<Test_TC_OCC_1_1>(), |
| make_unique<TestOperationalCredentialsCluster>(), |
| make_unique<Test_TC_LVL_1_1>(), |
| make_unique<Test_TC_CC_1_1>(), |
| make_unique<Test_TC_RH_1_1>(), |
| make_unique<Test_TC_MC_1_1>(), |
| make_unique<Test_TC_TSTAT_1_1>(), |
| make_unique<Test_TC_PCC_1_1>(), |
| make_unique<Test_TC_TSUIC_1_1>(), |
| make_unique<Test_TC_DIAGTH_1_1>(), |
| make_unique<Test_TC_TM_2_1>(), |
| make_unique<Test_TC_TSUIC_2_1>(), |
| make_unique<Test_TC_PCC_2_1>(), |
| make_unique<Test_TC_CC_3_1>(), |
| make_unique<Test_TC_CC_3_2>(), |
| make_unique<Test_TC_CC_3_3>(), |
| make_unique<Test_TC_CC_4_1>(), |
| make_unique<Test_TC_CC_4_2>(), |
| make_unique<Test_TC_CC_4_3>(), |
| make_unique<Test_TC_CC_4_4>(), |
| make_unique<Test_TC_CC_5_1>(), |
| make_unique<Test_TC_CC_5_2>(), |
| make_unique<Test_TC_CC_5_3>(), |
| make_unique<Test_TC_CC_6_1>(), |
| make_unique<Test_TC_CC_6_2>(), |
| make_unique<Test_TC_CC_6_3>(), |
| make_unique<Test_TC_CC_7_1>(), |
| make_unique<Test_TC_CC_7_2>(), |
| make_unique<Test_TC_CC_7_3>(), |
| make_unique<Test_TC_CC_7_4>(), |
| make_unique<Test_TC_CC_8_1>(), |
| }; |
| |
| commands.Register(clusterName, clusterCommands); |
| } |