137a09cd7Sopenharmony_ci/* 237a09cd7Sopenharmony_ci * Copyright (c) 2021-2024 Huawei Device Co., Ltd. 337a09cd7Sopenharmony_ci * Licensed under the Apache License, Version 2.0 (the "License"); 437a09cd7Sopenharmony_ci * you may not use this file except in compliance with the License. 537a09cd7Sopenharmony_ci * You may obtain a copy of the License at 637a09cd7Sopenharmony_ci * 737a09cd7Sopenharmony_ci * http://www.apache.org/licenses/LICENSE-2.0 837a09cd7Sopenharmony_ci * 937a09cd7Sopenharmony_ci * Unless required by applicable law or agreed to in writing, software 1037a09cd7Sopenharmony_ci * distributed under the License is distributed on an "AS IS" BASIS, 1137a09cd7Sopenharmony_ci * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. 1237a09cd7Sopenharmony_ci * See the License for the specific language governing permissions and 1337a09cd7Sopenharmony_ci * limitations under the License. 1437a09cd7Sopenharmony_ci */ 1537a09cd7Sopenharmony_ci 1637a09cd7Sopenharmony_ci#include "thermal_action_test.h" 1737a09cd7Sopenharmony_ci 1837a09cd7Sopenharmony_ci#ifdef THERMAL_GTEST 1937a09cd7Sopenharmony_ci#define private public 2037a09cd7Sopenharmony_ci#endif 2137a09cd7Sopenharmony_ci 2237a09cd7Sopenharmony_ci#include <memory> 2337a09cd7Sopenharmony_ci#include <singleton.h> 2437a09cd7Sopenharmony_ci#include "action_airplane.h" 2537a09cd7Sopenharmony_ci#include "action_application_process.h" 2637a09cd7Sopenharmony_ci#include "action_charger.h" 2737a09cd7Sopenharmony_ci#include "action_cpu_big.h" 2837a09cd7Sopenharmony_ci#include "action_cpu_med.h" 2937a09cd7Sopenharmony_ci#include "action_cpu_lit.h" 3037a09cd7Sopenharmony_ci#include "action_cpu_isolate.h" 3137a09cd7Sopenharmony_ci#include "action_display.h" 3237a09cd7Sopenharmony_ci#include "action_gpu.h" 3337a09cd7Sopenharmony_ci#include "action_node.h" 3437a09cd7Sopenharmony_ci#include "action_shutdown.h" 3537a09cd7Sopenharmony_ci#include "action_thermal_level.h" 3637a09cd7Sopenharmony_ci#include "action_popup.h" 3737a09cd7Sopenharmony_ci#include "action_volume.h" 3837a09cd7Sopenharmony_ci#include "action_voltage.h" 3937a09cd7Sopenharmony_ci#include "file_operation.h" 4037a09cd7Sopenharmony_ci#include "iremote_object.h" 4137a09cd7Sopenharmony_ci#include "mock_thermal_remote_object.h" 4237a09cd7Sopenharmony_ci#include "thermal_service.h" 4337a09cd7Sopenharmony_ci#include "thermal_timer.h" 4437a09cd7Sopenharmony_ci 4537a09cd7Sopenharmony_ciusing namespace testing::ext; 4637a09cd7Sopenharmony_ciusing namespace OHOS::PowerMgr; 4737a09cd7Sopenharmony_ciusing namespace OHOS; 4837a09cd7Sopenharmony_ciusing namespace std; 4937a09cd7Sopenharmony_ci 5037a09cd7Sopenharmony_cinamespace { 5137a09cd7Sopenharmony_ciconstexpr int32_t BUF_LEN = 32; 5237a09cd7Sopenharmony_cistatic sptr<ThermalService> g_service = nullptr; 5337a09cd7Sopenharmony_cistd::shared_ptr<ActionApplicationProcess> g_actionApplicationProcess = 5437a09cd7Sopenharmony_ci std::make_shared<ActionApplicationProcess>("process_ctrl"); 5537a09cd7Sopenharmony_cistd::shared_ptr<ActionAirplane> g_actionAirplane = std::make_shared<ActionAirplane>("airplane"); 5637a09cd7Sopenharmony_cistd::shared_ptr<ActionCharger> g_actionCharger = std::make_shared<ActionCharger>("current_sc"); 5737a09cd7Sopenharmony_cistd::shared_ptr<ActionCpuBig> g_actionCpuBig = std::make_shared<ActionCpuBig>("cpu_big"); 5837a09cd7Sopenharmony_cistd::shared_ptr<ActionCpuMed> g_actionCpuMed = std::make_shared<ActionCpuMed>("cpu_med"); 5937a09cd7Sopenharmony_cistd::shared_ptr<ActionCpuLit> g_actionCpuLit = std::make_shared<ActionCpuLit>("cpu_lit"); 6037a09cd7Sopenharmony_cistd::shared_ptr<ActionCpuIsolate> g_actionCpuIsolate = std::make_shared<ActionCpuIsolate>("isolate"); 6137a09cd7Sopenharmony_cistd::shared_ptr<ActionDisplay> g_actionDisplay = std::make_shared<ActionDisplay>("lcd"); 6237a09cd7Sopenharmony_cistd::shared_ptr<ActionGpu> g_actionGpu = std::make_shared<ActionGpu>("gpu"); 6337a09cd7Sopenharmony_cistd::shared_ptr<ActionPopup> g_actionPopup = std::make_shared<ActionPopup>("popup"); 6437a09cd7Sopenharmony_cistd::shared_ptr<ActionShutdown> g_actionShutdown = std::make_shared<ActionShutdown>("shut_down"); 6537a09cd7Sopenharmony_cistd::shared_ptr<ActionThermalLevel> g_actionThermalLevel = std::make_shared<ActionThermalLevel>("thermallevel"); 6637a09cd7Sopenharmony_cistd::shared_ptr<ActionVolume> g_actionVolume = std::make_shared<ActionVolume>("volume"); 6737a09cd7Sopenharmony_cistd::shared_ptr<ActionVoltage> g_actionVoltage = std::make_shared<ActionVoltage>("voltage"); 6837a09cd7Sopenharmony_cistd::shared_ptr<ActionNode> g_actionNode = std::make_shared<ActionNode>("action_node"); 6937a09cd7Sopenharmony_ci} 7037a09cd7Sopenharmony_ci 7137a09cd7Sopenharmony_civoid ThermalActionTest::SetUpTestCase() 7237a09cd7Sopenharmony_ci{ 7337a09cd7Sopenharmony_ci g_service = ThermalService::GetInstance(); 7437a09cd7Sopenharmony_ci g_service->InitSystemTestModules(); 7537a09cd7Sopenharmony_ci g_service->OnStart(); 7637a09cd7Sopenharmony_ci} 7737a09cd7Sopenharmony_ci 7837a09cd7Sopenharmony_civoid ThermalActionTest::TearDownTestCase() 7937a09cd7Sopenharmony_ci{ 8037a09cd7Sopenharmony_ci g_service->OnStop(); 8137a09cd7Sopenharmony_ci} 8237a09cd7Sopenharmony_ci 8337a09cd7Sopenharmony_civoid ThermalActionTest::SetUp() {} 8437a09cd7Sopenharmony_ci 8537a09cd7Sopenharmony_civoid ThermalActionTest::TearDown() {} 8637a09cd7Sopenharmony_ci 8737a09cd7Sopenharmony_cinamespace { 8837a09cd7Sopenharmony_ci/** 8937a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest001 9037a09cd7Sopenharmony_ci * @tc.desc: Action Volume Function Test 9137a09cd7Sopenharmony_ci * @tc.type: FUNC 9237a09cd7Sopenharmony_ci */ 9337a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest001, TestSize.Level0) 9437a09cd7Sopenharmony_ci{ 9537a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest001 start"); 9637a09cd7Sopenharmony_ci g_actionVolume->InitParams("volume"); 9737a09cd7Sopenharmony_ci g_actionVolume->SetEnableEvent(false); 9837a09cd7Sopenharmony_ci g_actionVolume->AddActionValue(""); 9937a09cd7Sopenharmony_ci g_actionVolume->AddActionValue("1.0"); 10037a09cd7Sopenharmony_ci g_actionVolume->Execute(); 10137a09cd7Sopenharmony_ci g_actionVolume->SetStrict(true); 10237a09cd7Sopenharmony_ci g_actionVolume->AddActionValue("2.0"); 10337a09cd7Sopenharmony_ci g_actionVolume->GetActionValue(); 10437a09cd7Sopenharmony_ci g_actionVolume->VolumeRequest(1.0); 10537a09cd7Sopenharmony_ci int32_t ret = g_actionVolume->VolumeExecution(1.0); 10637a09cd7Sopenharmony_ci EXPECT_TRUE(ret == ERR_OK); 10737a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest001 end"); 10837a09cd7Sopenharmony_ci} 10937a09cd7Sopenharmony_ci 11037a09cd7Sopenharmony_ci/** 11137a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest002 11237a09cd7Sopenharmony_ci * @tc.desc: Action Voltage Function Test 11337a09cd7Sopenharmony_ci * @tc.type: FUNC 11437a09cd7Sopenharmony_ci */ 11537a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest002, TestSize.Level0) 11637a09cd7Sopenharmony_ci{ 11737a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest002 start"); 11837a09cd7Sopenharmony_ci g_actionVoltage->AddActionValue(""); 11937a09cd7Sopenharmony_ci g_actionVoltage->AddActionValue("1.0"); 12037a09cd7Sopenharmony_ci g_actionVoltage->Execute(); 12137a09cd7Sopenharmony_ci g_actionVoltage->SetStrict(true); 12237a09cd7Sopenharmony_ci g_actionVoltage->AddActionValue("2.0"); 12337a09cd7Sopenharmony_ci g_actionVoltage->GetActionValue(); 12437a09cd7Sopenharmony_ci g_actionVoltage->SetVoltage(123456); 12537a09cd7Sopenharmony_ci g_actionVoltage->ExecuteVoltageLimit(); 12637a09cd7Sopenharmony_ci int32_t ret = g_actionVoltage->WriteMockNode(123456); 12737a09cd7Sopenharmony_ci EXPECT_FALSE(ret == ERR_OK); 12837a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest002 end"); 12937a09cd7Sopenharmony_ci} 13037a09cd7Sopenharmony_ci 13137a09cd7Sopenharmony_ci/** 13237a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest003 13337a09cd7Sopenharmony_ci * @tc.desc: Action Thermal Level Function Test 13437a09cd7Sopenharmony_ci * @tc.type: FUNC 13537a09cd7Sopenharmony_ci */ 13637a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest003, TestSize.Level0) 13737a09cd7Sopenharmony_ci{ 13837a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest003 start"); 13937a09cd7Sopenharmony_ci g_actionThermalLevel->AddActionValue(""); 14037a09cd7Sopenharmony_ci g_actionThermalLevel->AddActionValue("1.0"); 14137a09cd7Sopenharmony_ci g_actionThermalLevel->Execute(); 14237a09cd7Sopenharmony_ci g_actionThermalLevel->GetThermalLevel(); 14337a09cd7Sopenharmony_ci g_actionThermalLevel->LevelRequest(1); 14437a09cd7Sopenharmony_ci g_actionThermalLevel->LevelRequest(9); 14537a09cd7Sopenharmony_ci g_actionThermalLevel->LevelRequest(-1); 14637a09cd7Sopenharmony_ci g_actionThermalLevel->SetStrict(true); 14737a09cd7Sopenharmony_ci g_actionThermalLevel->AddActionValue("2.0"); 14837a09cd7Sopenharmony_ci g_actionThermalLevel->GetActionValue(); 14937a09cd7Sopenharmony_ci g_actionThermalLevel->SubscribeThermalLevelCallback(nullptr); 15037a09cd7Sopenharmony_ci g_actionThermalLevel->UnSubscribeThermalLevelCallback(nullptr); 15137a09cd7Sopenharmony_ci std::shared_ptr<IRemoteObject::DeathRecipient> deathRecipient = 15237a09cd7Sopenharmony_ci std::make_shared<ActionThermalLevel::ThermalLevelCallbackDeathRecipient>(); 15337a09cd7Sopenharmony_ci wptr<IRemoteObject> remoteObj = nullptr; 15437a09cd7Sopenharmony_ci EXPECT_NE(deathRecipient, nullptr); 15537a09cd7Sopenharmony_ci deathRecipient->OnRemoteDied(remoteObj); 15637a09cd7Sopenharmony_ci 15737a09cd7Sopenharmony_ci sptr<IRemoteObject> sptrRemoteObj = new MockThermalRemoteObject(); 15837a09cd7Sopenharmony_ci EXPECT_FALSE(sptrRemoteObj == nullptr); 15937a09cd7Sopenharmony_ci deathRecipient->OnRemoteDied(sptrRemoteObj); 16037a09cd7Sopenharmony_ci 16137a09cd7Sopenharmony_ci g_actionThermalLevel->NotifyThermalLevelChanged(1); 16237a09cd7Sopenharmony_ci bool ret = g_actionThermalLevel-> 16337a09cd7Sopenharmony_ci PublishLevelChangedEvents(ThermalCommonEventCode::CODE_THERMAL_LEVEL_CHANGED, 1); 16437a09cd7Sopenharmony_ci EXPECT_TRUE(ret); 16537a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest003 end"); 16637a09cd7Sopenharmony_ci} 16737a09cd7Sopenharmony_ci 16837a09cd7Sopenharmony_ci/** 16937a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest004 17037a09cd7Sopenharmony_ci * @tc.desc: Action Shutdown Function Test 17137a09cd7Sopenharmony_ci * @tc.type: FUNC 17237a09cd7Sopenharmony_ci */ 17337a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest004, TestSize.Level0) 17437a09cd7Sopenharmony_ci{ 17537a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest004 start"); 17637a09cd7Sopenharmony_ci g_actionShutdown->AddActionValue(""); 17737a09cd7Sopenharmony_ci g_actionShutdown->AddActionValue("1.0"); 17837a09cd7Sopenharmony_ci g_actionShutdown->Execute(); 17937a09cd7Sopenharmony_ci g_actionShutdown->SetStrict(true); 18037a09cd7Sopenharmony_ci g_actionShutdown->AddActionValue("2.0"); 18137a09cd7Sopenharmony_ci g_actionShutdown->GetActionValue(); 18237a09cd7Sopenharmony_ci int32_t ret = g_actionShutdown->ShutdownRequest(false); 18337a09cd7Sopenharmony_ci EXPECT_TRUE(ret == ERR_OK); 18437a09cd7Sopenharmony_ci g_actionShutdown->ShutdownExecution(false); 18537a09cd7Sopenharmony_ci g_actionShutdown->ShutdownExecution(false); 18637a09cd7Sopenharmony_ci ret = g_actionShutdown->DelayShutdown(false, 0, 0); 18737a09cd7Sopenharmony_ci EXPECT_TRUE(ret == ERR_OK); 18837a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest004 end"); 18937a09cd7Sopenharmony_ci} 19037a09cd7Sopenharmony_ci 19137a09cd7Sopenharmony_ci/** 19237a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest005 19337a09cd7Sopenharmony_ci * @tc.desc: Action Display Function Test 19437a09cd7Sopenharmony_ci * @tc.type: FUNC 19537a09cd7Sopenharmony_ci * @tc.require: issueI6KRS8 19637a09cd7Sopenharmony_ci */ 19737a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest005, TestSize.Level0) 19837a09cd7Sopenharmony_ci{ 19937a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest005 start"); 20037a09cd7Sopenharmony_ci g_actionDisplay->AddActionValue(""); 20137a09cd7Sopenharmony_ci g_actionDisplay->AddActionValue("1.0"); 20237a09cd7Sopenharmony_ci g_actionDisplay->Execute(); 20337a09cd7Sopenharmony_ci g_actionDisplay->SetStrict(true); 20437a09cd7Sopenharmony_ci g_actionDisplay->AddActionValue("2.0"); 20537a09cd7Sopenharmony_ci g_actionDisplay->GetActionValue(); 20637a09cd7Sopenharmony_ci EXPECT_FALSE(g_actionDisplay->valueList_.empty()); 20737a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest005 end"); 20837a09cd7Sopenharmony_ci} 20937a09cd7Sopenharmony_ci 21037a09cd7Sopenharmony_ci/** 21137a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest006 21237a09cd7Sopenharmony_ci * @tc.desc: Action Charger Function Test 21337a09cd7Sopenharmony_ci * @tc.type: FUNC 21437a09cd7Sopenharmony_ci */ 21537a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest006, TestSize.Level0) 21637a09cd7Sopenharmony_ci{ 21737a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest006 start"); 21837a09cd7Sopenharmony_ci g_actionCharger->AddActionValue(""); 21937a09cd7Sopenharmony_ci g_actionCharger->AddActionValue("1.0"); 22037a09cd7Sopenharmony_ci g_actionCharger->Execute(); 22137a09cd7Sopenharmony_ci g_actionCharger->ChargerRequest(0); 22237a09cd7Sopenharmony_ci g_actionCharger->ExecuteCurrentLimit(); 22337a09cd7Sopenharmony_ci int32_t ret = g_actionCharger->WriteSimValue(0); 22437a09cd7Sopenharmony_ci EXPECT_TRUE(ret); 22537a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest006 end"); 22637a09cd7Sopenharmony_ci} 22737a09cd7Sopenharmony_ci 22837a09cd7Sopenharmony_ci/** 22937a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest007 23037a09cd7Sopenharmony_ci * @tc.desc: Action Application Process Test 23137a09cd7Sopenharmony_ci * @tc.type: FUNC 23237a09cd7Sopenharmony_ci */ 23337a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest007, TestSize.Level0) 23437a09cd7Sopenharmony_ci{ 23537a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest007 start"); 23637a09cd7Sopenharmony_ci g_actionApplicationProcess->InitParams(""); 23737a09cd7Sopenharmony_ci g_actionApplicationProcess->AddActionValue(""); 23837a09cd7Sopenharmony_ci g_actionApplicationProcess->AddActionValue("1"); 23937a09cd7Sopenharmony_ci g_actionApplicationProcess->Execute(); 24037a09cd7Sopenharmony_ci g_actionApplicationProcess->KillApplicationAction(""); 24137a09cd7Sopenharmony_ci g_actionApplicationProcess->KillProcess(0); 24237a09cd7Sopenharmony_ci g_actionApplicationProcess->GetAppProcessInfoByName(""); 24337a09cd7Sopenharmony_ci g_actionApplicationProcess->GetAllRunnningAppProcess(); 24437a09cd7Sopenharmony_ci g_actionApplicationProcess->KillBgAppProcess(); 24537a09cd7Sopenharmony_ci g_actionApplicationProcess->KillAllAppProcess(); 24637a09cd7Sopenharmony_ci g_actionApplicationProcess->ProcessAppActionRequest(0); 24737a09cd7Sopenharmony_ci g_actionApplicationProcess->ProcessAppActionRequest(1); 24837a09cd7Sopenharmony_ci g_actionApplicationProcess->ProcessAppActionRequest(2); 24937a09cd7Sopenharmony_ci g_actionApplicationProcess->ProcessAppActionRequest(3); 25037a09cd7Sopenharmony_ci g_actionApplicationProcess->ProcessAppActionExecution(0); 25137a09cd7Sopenharmony_ci EXPECT_TRUE(g_actionApplicationProcess->valueList_.empty()); 25237a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest007 end"); 25337a09cd7Sopenharmony_ci} 25437a09cd7Sopenharmony_ci 25537a09cd7Sopenharmony_ci/** 25637a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest008 25737a09cd7Sopenharmony_ci * @tc.desc: Action CPU Big Test 25837a09cd7Sopenharmony_ci * @tc.type: FUNC 25937a09cd7Sopenharmony_ci * @tc.require: issueI6KRS8 26037a09cd7Sopenharmony_ci */ 26137a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest008, TestSize.Level0) 26237a09cd7Sopenharmony_ci{ 26337a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest008 start"); 26437a09cd7Sopenharmony_ci g_actionCpuBig->AddActionValue(""); 26537a09cd7Sopenharmony_ci g_actionCpuBig->AddActionValue("1.0"); 26637a09cd7Sopenharmony_ci g_actionCpuBig->Execute(); 26737a09cd7Sopenharmony_ci EXPECT_TRUE(g_actionCpuBig->valueList_.empty()); 26837a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest008 end"); 26937a09cd7Sopenharmony_ci} 27037a09cd7Sopenharmony_ci 27137a09cd7Sopenharmony_ci/** 27237a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest009 27337a09cd7Sopenharmony_ci * @tc.desc: Action CPU Med Test 27437a09cd7Sopenharmony_ci * @tc.type: FUNC 27537a09cd7Sopenharmony_ci * @tc.require: issueI6KRS8 27637a09cd7Sopenharmony_ci */ 27737a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest009, TestSize.Level0) 27837a09cd7Sopenharmony_ci{ 27937a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest009 start"); 28037a09cd7Sopenharmony_ci g_actionCpuMed->AddActionValue(""); 28137a09cd7Sopenharmony_ci g_actionCpuMed->AddActionValue("1.0"); 28237a09cd7Sopenharmony_ci g_actionCpuMed->Execute(); 28337a09cd7Sopenharmony_ci EXPECT_TRUE(g_actionCpuMed->valueList_.empty()); 28437a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest009 end"); 28537a09cd7Sopenharmony_ci} 28637a09cd7Sopenharmony_ci 28737a09cd7Sopenharmony_ci/** 28837a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest010 28937a09cd7Sopenharmony_ci * @tc.desc: Action CPU Lit Test 29037a09cd7Sopenharmony_ci * @tc.type: FUNC 29137a09cd7Sopenharmony_ci * @tc.require: issueI6KRS8 29237a09cd7Sopenharmony_ci */ 29337a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest010, TestSize.Level0) 29437a09cd7Sopenharmony_ci{ 29537a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest010 start"); 29637a09cd7Sopenharmony_ci g_actionCpuLit->AddActionValue(""); 29737a09cd7Sopenharmony_ci g_actionCpuLit->AddActionValue("1.0"); 29837a09cd7Sopenharmony_ci g_actionCpuLit->Execute(); 29937a09cd7Sopenharmony_ci EXPECT_TRUE(g_actionCpuLit->valueList_.empty()); 30037a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest010 end"); 30137a09cd7Sopenharmony_ci} 30237a09cd7Sopenharmony_ci 30337a09cd7Sopenharmony_ci/** 30437a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest011 30537a09cd7Sopenharmony_ci * @tc.desc: Action GPU Test 30637a09cd7Sopenharmony_ci * @tc.type: FUNC 30737a09cd7Sopenharmony_ci * @tc.require: issueI6KRS8 30837a09cd7Sopenharmony_ci */ 30937a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest011, TestSize.Level0) 31037a09cd7Sopenharmony_ci{ 31137a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest011 start"); 31237a09cd7Sopenharmony_ci g_actionGpu->AddActionValue(""); 31337a09cd7Sopenharmony_ci g_actionGpu->AddActionValue("1.0"); 31437a09cd7Sopenharmony_ci g_actionGpu->Execute(); 31537a09cd7Sopenharmony_ci EXPECT_TRUE(g_actionGpu->valueList_.empty()); 31637a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest011 end"); 31737a09cd7Sopenharmony_ci} 31837a09cd7Sopenharmony_ci 31937a09cd7Sopenharmony_ci/** 32037a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest012 32137a09cd7Sopenharmony_ci * @tc.desc: Action Isolate CPU Test 32237a09cd7Sopenharmony_ci * @tc.type: FUNC 32337a09cd7Sopenharmony_ci */ 32437a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest012, TestSize.Level0) 32537a09cd7Sopenharmony_ci{ 32637a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest012 start"); 32737a09cd7Sopenharmony_ci g_actionCpuIsolate->AddActionValue(""); 32837a09cd7Sopenharmony_ci g_actionCpuIsolate->AddActionValue("1.0"); 32937a09cd7Sopenharmony_ci g_actionCpuIsolate->Execute(); 33037a09cd7Sopenharmony_ci g_actionCpuIsolate->SetStrict(true); 33137a09cd7Sopenharmony_ci g_actionCpuIsolate->AddActionValue("2.0"); 33237a09cd7Sopenharmony_ci g_actionCpuIsolate->GetActionValue(); 33337a09cd7Sopenharmony_ci EXPECT_FALSE(g_actionCpuIsolate->valueList_.empty()); 33437a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest012 end"); 33537a09cd7Sopenharmony_ci} 33637a09cd7Sopenharmony_ci 33737a09cd7Sopenharmony_ci/** 33837a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest013 33937a09cd7Sopenharmony_ci * @tc.desc: Action node Test 34037a09cd7Sopenharmony_ci * @tc.type: FUNC 34137a09cd7Sopenharmony_ci */ 34237a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest013, TestSize.Level0) 34337a09cd7Sopenharmony_ci{ 34437a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest013 start"); 34537a09cd7Sopenharmony_ci std::string input = "1"; 34637a09cd7Sopenharmony_ci g_actionNode->InitParams("/data/service/el0/thermal/config/lcd"); 34737a09cd7Sopenharmony_ci g_actionNode->AddActionValue(input); 34837a09cd7Sopenharmony_ci g_actionNode->Execute(); 34937a09cd7Sopenharmony_ci char buf[BUF_LEN]; 35037a09cd7Sopenharmony_ci FileOperation::ReadFile("/data/service/el0/thermal/config/lcd", buf, BUF_LEN); 35137a09cd7Sopenharmony_ci std::string ret = buf; 35237a09cd7Sopenharmony_ci EXPECT_EQ(input, ret); 35337a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest013 end"); 35437a09cd7Sopenharmony_ci} 35537a09cd7Sopenharmony_ci 35637a09cd7Sopenharmony_ci/** 35737a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest014 35837a09cd7Sopenharmony_ci * @tc.desc: Action Airplane Function Test 35937a09cd7Sopenharmony_ci * @tc.type: FUNC 36037a09cd7Sopenharmony_ci */ 36137a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest014, TestSize.Level0) 36237a09cd7Sopenharmony_ci{ 36337a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest014 start"); 36437a09cd7Sopenharmony_ci g_actionAirplane->InitParams("airplane"); 36537a09cd7Sopenharmony_ci g_actionAirplane->AddActionValue(""); 36637a09cd7Sopenharmony_ci g_actionAirplane->AddActionValue("0"); 36737a09cd7Sopenharmony_ci g_actionAirplane->AddActionValue("air"); 36837a09cd7Sopenharmony_ci g_actionAirplane->Execute(); 36937a09cd7Sopenharmony_ci EXPECT_TRUE(g_actionAirplane->valueList_.empty()); 37037a09cd7Sopenharmony_ci std::string input = "1"; 37137a09cd7Sopenharmony_ci g_actionAirplane->AddActionValue(input); 37237a09cd7Sopenharmony_ci g_actionCpuIsolate->SetStrict(true); 37337a09cd7Sopenharmony_ci uint32_t value = g_actionAirplane->GetActionValue(); 37437a09cd7Sopenharmony_ci int32_t ret = g_actionAirplane->AirplaneRequest(value); 37537a09cd7Sopenharmony_ci g_actionAirplane->AirplaneRequest(0); 37637a09cd7Sopenharmony_ci g_actionAirplane->AirplaneRequest(1); 37737a09cd7Sopenharmony_ci EXPECT_TRUE(ret == ERR_OK); 37837a09cd7Sopenharmony_ci ret = g_actionAirplane->AirplaneExecution(value); 37937a09cd7Sopenharmony_ci EXPECT_TRUE(ret == ERR_OK); 38037a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest014 end"); 38137a09cd7Sopenharmony_ci} 38237a09cd7Sopenharmony_ci 38337a09cd7Sopenharmony_ci/** 38437a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest015 38537a09cd7Sopenharmony_ci * @tc.desc: Action Timer Test 38637a09cd7Sopenharmony_ci * @tc.type: FUNC 38737a09cd7Sopenharmony_ci */ 38837a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest015, TestSize.Level0) 38937a09cd7Sopenharmony_ci{ 39037a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest015 start"); 39137a09cd7Sopenharmony_ci auto timerInfo = std::make_shared<ThermalTimerInfo>(); 39237a09cd7Sopenharmony_ci ASSERT_NE(timerInfo, nullptr); 39337a09cd7Sopenharmony_ci OHOS::PowerMgr::ThermalTimerInfo::TimerInfoCallback callback; 39437a09cd7Sopenharmony_ci timerInfo->SetCallbackInfo(callback); 39537a09cd7Sopenharmony_ci timerInfo->OnTrigger(); 39637a09cd7Sopenharmony_ci auto timer = std::make_shared<ThermalTimer>(); 39737a09cd7Sopenharmony_ci ASSERT_NE(timer, nullptr); 39837a09cd7Sopenharmony_ci uint64_t triggerTime = 1; 39937a09cd7Sopenharmony_ci std::shared_ptr<ThermalTimerInfo> info; 40037a09cd7Sopenharmony_ci uint64_t timerId = timer->CreateTimer(info); 40137a09cd7Sopenharmony_ci EXPECT_EQ(timerId, 0); 40237a09cd7Sopenharmony_ci timer->StartTimer(timerId, triggerTime); 40337a09cd7Sopenharmony_ci timer->DestroyTimer(timerId); 40437a09cd7Sopenharmony_ci timer->StopTimer(timerId); 40537a09cd7Sopenharmony_ci auto timerUtils = std::make_shared<ThermalTimerUtils>(); 40637a09cd7Sopenharmony_ci ASSERT_NE(timerUtils, nullptr); 40737a09cd7Sopenharmony_ci timerUtils->Stop(); 40837a09cd7Sopenharmony_ci int delay = 1; 40937a09cd7Sopenharmony_ci OHOS::PowerMgr::ThermalTimerUtils::NotifyTask task; 41037a09cd7Sopenharmony_ci timerUtils->Start(delay, task); 41137a09cd7Sopenharmony_ci timerUtils->Start(delay, task); 41237a09cd7Sopenharmony_ci timerUtils->Stop(); 41337a09cd7Sopenharmony_ci timerUtils->Stop(); 41437a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest015 end"); 41537a09cd7Sopenharmony_ci} 41637a09cd7Sopenharmony_ci 41737a09cd7Sopenharmony_ci/** 41837a09cd7Sopenharmony_ci * @tc.name: ThermalActionTest016 41937a09cd7Sopenharmony_ci * @tc.desc: Action Popup Test 42037a09cd7Sopenharmony_ci * @tc.type: FUNC 42137a09cd7Sopenharmony_ci */ 42237a09cd7Sopenharmony_ciHWTEST_F(ThermalActionTest, ThermalActionTest016, TestSize.Level0) 42337a09cd7Sopenharmony_ci{ 42437a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest016 start"); 42537a09cd7Sopenharmony_ci g_actionPopup->AddActionValue("pop"); 42637a09cd7Sopenharmony_ci g_actionPopup->Execute(); 42737a09cd7Sopenharmony_ci EXPECT_TRUE(g_actionPopup->valueList_.empty()); 42837a09cd7Sopenharmony_ci THERMAL_HILOGD(LABEL_TEST, "ThermalActionTest016 end"); 42937a09cd7Sopenharmony_ci} 43037a09cd7Sopenharmony_ci} // namespace 431