* Copyright (C) 2023 Huawei Device Co., Ltd.
* 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.
*/
#include <gtest/gtest.h>
#include <string>
#include "unittest_log.h"
#include <cstdlib>
#include <string>
#include <cmath>
#include <chrono>
#include <iostream>
#include <sstream>
#include "common/status.h"
#include "securec.h"
#define HST_LOG_TAG "Task"
#include "osal/task/task.h"
#include "osal/task/condition_variable.h"
#include "cpp_ext/memory_ext.h"
#include "common/log.h"
#include "osal/task/pipeline_threadpool.h"
namespace {
constexpr OHOS::HiviewDFX::HiLogLabel LABEL = { LOG_ONLY_PRERELEASE, LOG_DOMAIN_FOUNDATION, "TaskFuncUnitTest" };
}
using namespace std;
using namespace testing::ext;
using namespace OHOS;
using namespace OHOS::Media;
namespace OHOS {
namespace Media {
namespace MetaFuncUT {
class TaskInnerUnitTest : public testing::Test {
public:
static void SetUpTestCase(void);
static void TearDownTestCase(void);
void SetUp(void);
void TearDown(void);
ConditionVariable cv;
Mutex mutex_;
std::atomic<bool> isStop_{false};
std::string modifyMsg_ = "";
};
void TaskInnerUnitTest::SetUpTestCase(void) {}
void TaskInnerUnitTest::TearDownTestCase(void) {}
void TaskInnerUnitTest::SetUp(void)
{
std::cout << "[SetUp]: SetUp!!!, test: ";
const ::testing::TestInfo *testInfo_ = ::testing::UnitTest::GetInstance()->current_test_info();
std::string testName = testInfo_->name();
std::cout << testName << std::endl;
}
void TaskInnerUnitTest::TearDown(void)
{
PipeLineThreadPool::GetInstance().DestroyThread("");
std::cout << "[TearDown]: over!!!" << std::endl;
}
* @tc.name: TaskNotRunning
* @tc.desc: TaskNotRunning
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskNotRunning, TestSize.Level1)
{
std::shared_ptr<Task> task1 = std::make_shared<Task>("workTask1");
bool rtv = task1->IsTaskRunning();
EXPECT_EQ(false, rtv);
}
* @tc.name: TaskRegisterJobNotRunning
* @tc.desc: TaskRegisterJobNotRunning
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskRegisterJobNotRunning, TestSize.Level1)
{
std::shared_ptr<Task> task2 = std::make_shared<Task>("workTask2");
task2->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskRegisterJobNotRunning running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10) {
runningState = false;
}
}
return 0;
});
bool rtv = task2->IsTaskRunning();
EXPECT_EQ(false, rtv);
}
* @tc.name: TaskRegisterJobRun
* @tc.desc: TaskRegisterJobRun
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskRegisterJobRun, TestSize.Level1)
{
std::shared_ptr<Task> task3 = std::make_shared<Task>("workTask3");
task3->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskRegisterJobRun running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10) {
runningState = false;
}
}
return 0;
});
task3->Start();
sleep(1);
bool rtv = task3->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskRegisterJobPause
* @tc.desc: TaskRegisterJobPause
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskRegisterJobPause, TestSize.Level1)
{
std::shared_ptr<Task> task4 = std::make_shared<Task>("workTask4");
task4->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskRegisterJobPause running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10) {
runningState = false;
}
}
return 0;
});
task4->Start();
task4->Pause();
sleep(1);
bool rtv = task4->IsTaskRunning();
EXPECT_EQ(false, rtv);
task4->Pause();
sleep(1);
rtv = task4->IsTaskRunning();
EXPECT_EQ(false, rtv);
}
* @tc.name: TaskJobPauseResume
* @tc.desc: TaskJobPauseResume
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseResume, TestSize.Level1)
{
std::shared_ptr<Task> task5 = std::make_shared<Task>("workTask5");
task5->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseResume running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10) {
runningState = false;
}
}
return 0;
});
task5->Start();
task5->Pause();
sleep(1);
bool rtv = task5->IsTaskRunning();
EXPECT_EQ(false, rtv);
task5->Start();
sleep(1);
rtv = task5->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskRegisterJobPauseAsync
* @tc.desc: TaskRegisterJobPauseAsync
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskRegisterJobPauseAsync, TestSize.Level1)
{
std::shared_ptr<Task> task6 = std::make_shared<Task>("workTask6");
task6->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskRegisterJobPauseAsync running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10) {
runningState = false;
}
}
return 0;
});
task6->Start();
task6->PauseAsync();
sleep(1);
bool rtv = task6->IsTaskRunning();
EXPECT_EQ(false, rtv);
task6->PauseAsync();
sleep(1);
rtv = task6->IsTaskRunning();
EXPECT_EQ(false, rtv);
}
* @tc.name: TaskRegisterJobStopAsync
* @tc.desc: TaskRegisterJobStopAsync
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskRegisterJobStopAsync, TestSize.Level1)
{
std::shared_ptr<Task> task7 = std::make_shared<Task>("workTask7");
task7->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskRegisterJobStopAsync running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10) {
runningState = false;
}
}
return 0;
});
task7->Start();
sleep(1);
task7->StopAsync();
sleep(1);
bool rtv = task7->IsTaskRunning();
EXPECT_EQ(false, rtv);
}
* @tc.name: TaskRegisterJobStop
* @tc.desc: TaskRegisterJobStop
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskRegisterJobStop, TestSize.Level1)
{
std::shared_ptr<Task> task8 = std::make_shared<Task>("workTask8");
task8->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskRegisterJobStop running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10) {
runningState = false;
}
}
return 0;
});
task8->Start();
sleep(2);
task8->Stop();
sleep(1);
bool rtv = task8->IsTaskRunning();
EXPECT_EQ(false, rtv);
}
* @tc.name: TaskRegisterJobStopResume
* @tc.desc: TaskRegisterJobStopResume
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskRegisterJobStopResume, TestSize.Level1)
{
std::shared_ptr<Task> task9 = std::make_shared<Task>("workTask9");
task9->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskRegisterJobStopResume running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10) {
runningState = false;
}
}
return 0;
});
task9->Start();
sleep(2);
task9->Stop();
sleep(1);
task9->Start();
sleep(1);
bool rtv = task9->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart
* @tc.desc: TaskJobPauseStopResumeStart
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart, TestSize.Level1)
{
std::shared_ptr<Task> task10 = std::make_shared<Task>("workTask10");
task10->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task10->Start();
sleep(3);
task10->Pause();
sleep(2);
task10->Start();
sleep(2);
task10->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task10->Start();
sleep(1);
bool rtv = task10->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: WaitFor_Succ
* @tc.desc: WaitFor_Succ
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, WaitFor_Succ, TestSize.Level1)
{
std::shared_ptr<Task> task01 = std::make_shared<Task>("workTask01");
AutoLock lock(mutex_);
task01->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task WaitFor_Succ running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10){
runningState = false;
}
}
return 0;
});
task01->Start();
int timeoutMs = 1000;
isStop_.store(true);
auto rtv = cv.WaitFor(lock, timeoutMs, [this] { return isStop_.load(); });
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart03
* @tc.desc: TaskJobPauseStopResumeStart03
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart03, TestSize.Level1)
{
std::shared_ptr<Task> task03 = std::make_shared<Task>("workTask03",
"", TaskType::GLOBAL, TaskPriority::NORMAL, true);
task03->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task03->Start();
sleep(3);
task03->Pause();
sleep(2);
task03->Start();
sleep(2);
task03->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task03->Start();
sleep(1);
bool rtv = task03->IsTaskRunning();
EXPECT_EQ(true, rtv);
task03->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart04
* @tc.desc: TaskJobPauseStopResumeStart04
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart04, TestSize.Level1)
{
std::shared_ptr<Task> task04 = std::make_shared<Task>("workTask04",
"", TaskType::VIDEO, TaskPriority::NORMAL, true);
task04->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task04->Start();
sleep(3);
task04->Pause();
sleep(2);
task04->Start();
sleep(2);
task04->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task04->Start();
sleep(1);
bool rtv = task04->IsTaskRunning();
EXPECT_EQ(true, rtv);
task04->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart05
* @tc.desc: TaskJobPauseStopResumeStart05
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart05, TestSize.Level1)
{
std::shared_ptr<Task> task05 = std::make_shared<Task>("workTask05",
"", TaskType::AUDIO, TaskPriority::NORMAL, true);
task05->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task05->Start();
sleep(3);
task05->Pause();
sleep(2);
task05->Start();
sleep(2);
task05->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task05->Start();
sleep(1);
bool rtv = task05->IsTaskRunning();
EXPECT_EQ(true, rtv);
task05->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart06
* @tc.desc: TaskJobPauseStopResumeStart06
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart06, TestSize.Level1)
{
std::shared_ptr<Task> task06 = std::make_shared<Task>("workTask06",
"", TaskType::SUBTITLE, TaskPriority::NORMAL, true);
task06->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task06->Start();
sleep(3);
task06->Pause();
sleep(2);
task06->Start();
sleep(2);
task06->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task06->Start();
sleep(1);
bool rtv = task06->IsTaskRunning();
EXPECT_EQ(true, rtv);
task06->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart07
* @tc.desc: TaskJobPauseStopResumeStart07
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart07, TestSize.Level1)
{
std::shared_ptr<Task> task07 = std::make_shared<Task>("workTask07",
"", TaskType::GLOBAL, TaskPriority::LOW, true);
task07->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task07->Start();
sleep(3);
task07->Pause();
sleep(2);
task07->Start();
sleep(2);
task07->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task07->Start();
sleep(1);
bool rtv = task07->IsTaskRunning();
EXPECT_EQ(true, rtv);
task07->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart08
* @tc.desc: TaskJobPauseStopResumeStart08
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart08, TestSize.Level1)
{
std::shared_ptr<Task> task08 = std::make_shared<Task>("workTask08",
"", TaskType::VIDEO, TaskPriority::LOW, true);
task08->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task08->Start();
sleep(3);
task08->Pause();
sleep(2);
task08->Start();
sleep(2);
task08->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task08->Start();
sleep(1);
bool rtv = task08->IsTaskRunning();
EXPECT_EQ(true, rtv);
task08->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart09
* @tc.desc: TaskJobPauseStopResumeStart09
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart09, TestSize.Level1)
{
std::shared_ptr<Task> task09 = std::make_shared<Task>("workTask09",
"", TaskType::AUDIO, TaskPriority::LOW, true);
task09->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task09->Start();
sleep(3);
task09->Pause();
sleep(2);
task09->Start();
sleep(2);
task09->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task09->Start();
sleep(1);
bool rtv = task09->IsTaskRunning();
EXPECT_EQ(true, rtv);
task09->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart20
* @tc.desc: TaskJobPauseStopResumeStart20
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart20, TestSize.Level1)
{
std::shared_ptr<Task> task20 = std::make_shared<Task>("workTask20",
"", TaskType::SUBTITLE, TaskPriority::LOW, true);
task20->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task20->Start();
sleep(3);
task20->Pause();
sleep(2);
task20->Start();
sleep(2);
task20->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task20->Start();
sleep(1);
bool rtv = task20->IsTaskRunning();
EXPECT_EQ(true, rtv);
task20->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart21
* @tc.desc: TaskJobPauseStopResumeStart21
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart21, TestSize.Level1)
{
std::shared_ptr<Task> task21 = std::make_shared<Task>("workTask21",
"", TaskType::SINGLETON, TaskPriority::LOW, true);
task21->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task21->Start();
sleep(3);
task21->Pause();
sleep(2);
task21->Start();
sleep(2);
task21->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task21->Start();
sleep(1);
bool rtv = task21->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart22
* @tc.desc: TaskJobPauseStopResumeStart22
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart22, TestSize.Level1)
{
std::shared_ptr<Task> task22 = std::make_shared<Task>("workTask22",
"", TaskType::GLOBAL, TaskPriority::MIDDLE, true);
task22->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task22->Start();
sleep(3);
task22->Pause();
sleep(2);
task22->Start();
sleep(2);
task22->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task22->Start();
sleep(1);
bool rtv = task22->IsTaskRunning();
EXPECT_EQ(true, rtv);
task22->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart23
* @tc.desc: TaskJobPauseStopResumeStart23
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart23, TestSize.Level1)
{
std::shared_ptr<Task> task23 = std::make_shared<Task>("workTask23",
"", TaskType::VIDEO, TaskPriority::MIDDLE, true);
task23->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task23->Start();
sleep(3);
task23->Pause();
sleep(2);
task23->Start();
sleep(2);
task23->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task23->Start();
sleep(1);
bool rtv = task23->IsTaskRunning();
EXPECT_EQ(true, rtv);
task23->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart24
* @tc.desc: TaskJobPauseStopResumeStart24
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart24, TestSize.Level1)
{
std::shared_ptr<Task> task24 = std::make_shared<Task>("workTask24",
"", TaskType::AUDIO, TaskPriority::MIDDLE, true);
task24->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task24->Start();
sleep(3);
task24->Pause();
sleep(2);
task24->Start();
sleep(2);
task24->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task24->Start();
sleep(1);
bool rtv = task24->IsTaskRunning();
EXPECT_EQ(true, rtv);
task24->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart25
* @tc.desc: TaskJobPauseStopResumeStart25
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart25, TestSize.Level1)
{
std::shared_ptr<Task> task25 = std::make_shared<Task>("workTask25",
"", TaskType::SUBTITLE, TaskPriority::MIDDLE, true);
task25->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task25->Start();
sleep(3);
task25->Pause();
sleep(2);
task25->Start();
sleep(2);
task25->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task25->Start();
sleep(1);
bool rtv = task25->IsTaskRunning();
EXPECT_EQ(true, rtv);
task25->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart26
* @tc.desc: TaskJobPauseStopResumeStart26
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart26, TestSize.Level1)
{
std::shared_ptr<Task> task26 = std::make_shared<Task>("workTask26",
"", TaskType::SINGLETON, TaskPriority::MIDDLE, true);
task26->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task26->Start();
sleep(3);
task26->Pause();
sleep(2);
task26->Start();
sleep(2);
task26->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task26->Start();
sleep(1);
bool rtv = task26->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart27
* @tc.desc: TaskJobPauseStopResumeStart27
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart27, TestSize.Level1)
{
std::shared_ptr<Task> task27 = std::make_shared<Task>("workTask27",
"", TaskType::GLOBAL, TaskPriority::HIGH, true);
task27->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task27->Start();
sleep(3);
task27->Pause();
sleep(2);
task27->Start();
sleep(2);
task27->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task27->Start();
sleep(1);
bool rtv = task27->IsTaskRunning();
EXPECT_EQ(true, rtv);
task27->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart28
* @tc.desc: TaskJobPauseStopResumeStart28
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart28, TestSize.Level1)
{
std::shared_ptr<Task> task28 = std::make_shared<Task>("workTask28",
"", TaskType::VIDEO, TaskPriority::HIGH, true);
task28->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task28->Start();
sleep(3);
task28->Pause();
sleep(2);
task28->Start();
sleep(2);
task28->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task28->Start();
sleep(1);
bool rtv = task28->IsTaskRunning();
EXPECT_EQ(true, rtv);
task28->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart29
* @tc.desc: TaskJobPauseStopResumeStart29
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart29, TestSize.Level1)
{
std::shared_ptr<Task> task29 = std::make_shared<Task>("workTask29",
"", TaskType::AUDIO, TaskPriority::HIGH, true);
task29->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task29->Start();
sleep(3);
task29->Pause();
sleep(2);
task29->Start();
sleep(2);
task29->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task29->Start();
sleep(1);
bool rtv = task29->IsTaskRunning();
EXPECT_EQ(true, rtv);
task29->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart30
* @tc.desc: TaskJobPauseStopResumeStart30
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart30, TestSize.Level1)
{
std::shared_ptr<Task> task30 = std::make_shared<Task>("workTask30",
"", TaskType::SUBTITLE, TaskPriority::HIGH, true);
task30->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task30->Start();
sleep(3);
task30->Pause();
sleep(2);
task30->Start();
sleep(2);
task30->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task30->Start();
sleep(1);
bool rtv = task30->IsTaskRunning();
EXPECT_EQ(true, rtv);
task30->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart31
* @tc.desc: TaskJobPauseStopResumeStart31
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart31, TestSize.Level1)
{
std::shared_ptr<Task> task31 = std::make_shared<Task>("workTask31",
"", TaskType::SINGLETON, TaskPriority::HIGH, true);
task31->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task31->Start();
sleep(3);
task31->Pause();
sleep(2);
task31->Start();
sleep(2);
task31->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task31->Start();
sleep(1);
bool rtv = task31->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart32
* @tc.desc: TaskJobPauseStopResumeStart32
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart32, TestSize.Level1)
{
std::shared_ptr<Task> task32 = std::make_shared<Task>("workTask32",
"", TaskType::GLOBAL, TaskPriority::HIGHEST, true);
task32->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task32->Start();
sleep(3);
task32->Pause();
sleep(2);
task32->Start();
sleep(2);
task32->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task32->Start();
sleep(1);
bool rtv = task32->IsTaskRunning();
EXPECT_EQ(true, rtv);
task32->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart33
* @tc.desc: TaskJobPauseStopResumeStart33
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart33, TestSize.Level1)
{
std::shared_ptr<Task> task33 = std::make_shared<Task>("workTask33",
"", TaskType::VIDEO, TaskPriority::HIGHEST, true);
task33->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task33->Start();
sleep(3);
task33->Pause();
sleep(2);
task33->Start();
sleep(2);
task33->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task33->Start();
sleep(1);
bool rtv = task33->IsTaskRunning();
EXPECT_EQ(true, rtv);
task33->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart34
* @tc.desc: TaskJobPauseStopResumeStart34
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart34, TestSize.Level1)
{
std::shared_ptr<Task> task34 = std::make_shared<Task>("workTask34",
"", TaskType::AUDIO, TaskPriority::HIGHEST, true);
task34->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task34->Start();
sleep(3);
task34->Pause();
sleep(2);
task34->Start();
sleep(2);
task34->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task34->Start();
sleep(1);
bool rtv = task34->IsTaskRunning();
EXPECT_EQ(true, rtv);
task34->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart35
* @tc.desc: TaskJobPauseStopResumeStart35
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart35, TestSize.Level1)
{
std::shared_ptr<Task> task35 = std::make_shared<Task>("workTask35",
"", TaskType::SUBTITLE, TaskPriority::HIGHEST, true);
task35->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task35->Start();
sleep(3);
task35->Pause();
sleep(2);
task35->Start();
sleep(2);
task35->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task35->Start();
sleep(1);
bool rtv = task35->IsTaskRunning();
EXPECT_EQ(true, rtv);
task35->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart36
* @tc.desc: TaskJobPauseStopResumeStart36
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart36, TestSize.Level1)
{
std::shared_ptr<Task> task36 = std::make_shared<Task>("workTask36",
"", TaskType::SINGLETON, TaskPriority::HIGHEST, true);
task36->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task36->Start();
sleep(3);
task36->Pause();
sleep(2);
task36->Start();
sleep(2);
task36->Stop();
sleep(1);
EXPECT_EQ("middle", modifyMsg_);
task36->Start();
sleep(1);
bool rtv = task36->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart37
* @tc.desc: TaskJobPauseStopResumeStart37
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart37, TestSize.Level1)
{
std::shared_ptr<Task> task37 = std::make_shared<Task>("workTask37",
"", TaskType::SINGLETON, TaskPriority::NORMAL, false);
task37->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task37->Start();
sleep(3);
task37->Pause();
sleep(2);
task37->Start();
sleep(2);
task37->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task37->Start();
sleep(1);
bool rtv = task37->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart38
* @tc.desc: TaskJobPauseStopResumeStart38
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart38, TestSize.Level1)
{
std::shared_ptr<Task> task38 = std::make_shared<Task>("workTask38",
"", TaskType::GLOBAL, TaskPriority::NORMAL, false);
task38->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task38->Start();
sleep(3);
task38->Pause();
sleep(2);
task38->Start();
sleep(2);
task38->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task38->Start();
sleep(1);
bool rtv = task38->IsTaskRunning();
EXPECT_EQ(true, rtv);
task38->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart39
* @tc.desc: TaskJobPauseStopResumeStart39
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart39, TestSize.Level1)
{
std::shared_ptr<Task> task39 = std::make_shared<Task>("workTask39",
"", TaskType::VIDEO, TaskPriority::NORMAL, false);
task39->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task39->Start();
sleep(3);
task39->Pause();
sleep(2);
task39->Start();
sleep(2);
task39->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task39->Start();
sleep(1);
bool rtv = task39->IsTaskRunning();
EXPECT_EQ(true, rtv);
task39->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart40
* @tc.desc: TaskJobPauseStopResumeStart40
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart40, TestSize.Level1)
{
std::shared_ptr<Task> task40 = std::make_shared<Task>("workTask40",
"", TaskType::AUDIO, TaskPriority::NORMAL, false);
task40->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task40->Start();
sleep(3);
task40->Pause();
sleep(2);
task40->Start();
sleep(2);
task40->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task40->Start();
sleep(1);
bool rtv = task40->IsTaskRunning();
EXPECT_EQ(true, rtv);
task40->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart41
* @tc.desc: TaskJobPauseStopResumeStart41
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart41, TestSize.Level1)
{
std::shared_ptr<Task> task41 = std::make_shared<Task>("workTask41",
"", TaskType::SUBTITLE, TaskPriority::NORMAL, false);
task41->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task41->Start();
sleep(3);
task41->Pause();
sleep(2);
task41->Start();
sleep(2);
task41->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task41->Start();
sleep(1);
bool rtv = task41->IsTaskRunning();
EXPECT_EQ(true, rtv);
task41->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart42
* @tc.desc: TaskJobPauseStopResumeStart42
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart42, TestSize.Level1)
{
std::shared_ptr<Task> task42 = std::make_shared<Task>("workTask42",
"", TaskType::GLOBAL, TaskPriority::LOW, false);
task42->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task42->Start();
sleep(3);
task42->Pause();
sleep(2);
task42->Start();
sleep(2);
task42->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task42->Start();
sleep(1);
bool rtv = task42->IsTaskRunning();
EXPECT_EQ(true, rtv);
task42->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart43
* @tc.desc: TaskJobPauseStopResumeStart43
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart43, TestSize.Level1)
{
std::shared_ptr<Task> task43 = std::make_shared<Task>("workTask43",
"", TaskType::VIDEO, TaskPriority::LOW, false);
task43->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task43->Start();
sleep(3);
task43->Pause();
sleep(2);
task43->Start();
sleep(2);
task43->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task43->Start();
sleep(1);
bool rtv = task43->IsTaskRunning();
EXPECT_EQ(true, rtv);
task43->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart44
* @tc.desc: TaskJobPauseStopResumeStart44
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart44, TestSize.Level1)
{
std::shared_ptr<Task> task44 = std::make_shared<Task>("workTask44",
"", TaskType::AUDIO, TaskPriority::LOW, false);
task44->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task44->Start();
sleep(3);
task44->Pause();
sleep(2);
task44->Start();
sleep(2);
task44->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task44->Start();
sleep(1);
bool rtv = task44->IsTaskRunning();
EXPECT_EQ(true, rtv);
task44->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart45
* @tc.desc: TaskJobPauseStopResumeStart45
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart45, TestSize.Level1)
{
std::shared_ptr<Task> task45 = std::make_shared<Task>("workTask45",
"", TaskType::SUBTITLE, TaskPriority::LOW, false);
task45->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task45->Start();
sleep(3);
task45->Pause();
sleep(2);
task45->Start();
sleep(2);
task45->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task45->Start();
sleep(1);
bool rtv = task45->IsTaskRunning();
EXPECT_EQ(true, rtv);
task45->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart46
* @tc.desc: TaskJobPauseStopResumeStart46
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart46, TestSize.Level1)
{
std::shared_ptr<Task> task46 = std::make_shared<Task>("workTask46",
"", TaskType::SINGLETON, TaskPriority::LOW, false);
task46->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task46->Start();
sleep(3);
task46->Pause();
sleep(2);
task46->Start();
sleep(2);
task46->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task46->Start();
sleep(1);
bool rtv = task46->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart47
* @tc.desc: TaskJobPauseStopResumeStart47
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart47, TestSize.Level1)
{
std::shared_ptr<Task> task47 = std::make_shared<Task>("workTask47",
"", TaskType::GLOBAL, TaskPriority::MIDDLE, false);
task47->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task47->Start();
sleep(3);
task47->Pause();
sleep(2);
task47->Start();
sleep(2);
task47->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task47->Start();
sleep(1);
bool rtv = task47->IsTaskRunning();
EXPECT_EQ(true, rtv);
task47->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart48
* @tc.desc: TaskJobPauseStopResumeStart48
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart48, TestSize.Level1)
{
std::shared_ptr<Task> task48 = std::make_shared<Task>("workTask48",
"", TaskType::VIDEO, TaskPriority::MIDDLE, false);
task48->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task48->Start();
sleep(3);
task48->Pause();
sleep(2);
task48->Start();
sleep(2);
task48->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task48->Start();
sleep(1);
bool rtv = task48->IsTaskRunning();
EXPECT_EQ(true, rtv);
task48->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart49
* @tc.desc: TaskJobPauseStopResumeStart49
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart49, TestSize.Level1)
{
std::shared_ptr<Task> task49 = std::make_shared<Task>("workTask49",
"", TaskType::AUDIO, TaskPriority::MIDDLE, false);
task49->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task49->Start();
sleep(3);
task49->Pause();
sleep(2);
task49->Start();
sleep(2);
task49->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task49->Start();
sleep(1);
bool rtv = task49->IsTaskRunning();
EXPECT_EQ(true, rtv);
task49->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart50
* @tc.desc: TaskJobPauseStopResumeStart50
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart50, TestSize.Level1)
{
std::shared_ptr<Task> task50 = std::make_shared<Task>("workTask50",
"", TaskType::SUBTITLE, TaskPriority::MIDDLE, false);
task50->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task50->Start();
sleep(3);
task50->Pause();
sleep(2);
task50->Start();
sleep(2);
task50->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task50->Start();
sleep(1);
bool rtv = task50->IsTaskRunning();
EXPECT_EQ(true, rtv);
task50->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart51
* @tc.desc: TaskJobPauseStopResumeStart51
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart51, TestSize.Level1)
{
std::shared_ptr<Task> task51 = std::make_shared<Task>("workTask51",
"", TaskType::SINGLETON, TaskPriority::MIDDLE, false);
task51->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task51->Start();
sleep(3);
task51->Pause();
sleep(2);
task51->Start();
sleep(2);
task51->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task51->Start();
sleep(1);
bool rtv = task51->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart52
* @tc.desc: TaskJobPauseStopResumeStart52
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart52, TestSize.Level1)
{
std::shared_ptr<Task> task52 = std::make_shared<Task>("workTask52",
"", TaskType::GLOBAL, TaskPriority::HIGH, false);
task52->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task52->Start();
sleep(3);
task52->Pause();
sleep(2);
task52->Start();
sleep(2);
task52->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task52->Start();
sleep(1);
bool rtv = task52->IsTaskRunning();
EXPECT_EQ(true, rtv);
task52->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart53
* @tc.desc: TaskJobPauseStopResumeStart53
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart53, TestSize.Level1)
{
std::shared_ptr<Task> task53 = std::make_shared<Task>("workTask53",
"", TaskType::VIDEO, TaskPriority::HIGH, false);
task53->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task53->Start();
sleep(3);
task53->Pause();
sleep(2);
task53->Start();
sleep(2);
task53->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task53->Start();
sleep(1);
bool rtv = task53->IsTaskRunning();
EXPECT_EQ(true, rtv);
task53->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart54
* @tc.desc: TaskJobPauseStopResumeStart54
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart54, TestSize.Level1)
{
std::shared_ptr<Task> task54 = std::make_shared<Task>("workTask54",
"", TaskType::AUDIO, TaskPriority::HIGH, false);
task54->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task54->Start();
sleep(3);
task54->Pause();
sleep(2);
task54->Start();
sleep(2);
task54->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task54->Start();
sleep(1);
bool rtv = task54->IsTaskRunning();
EXPECT_EQ(true, rtv);
task54->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart55
* @tc.desc: TaskJobPauseStopResumeStart55
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart55, TestSize.Level1)
{
std::shared_ptr<Task> task55 = std::make_shared<Task>("workTask55",
"", TaskType::SUBTITLE, TaskPriority::HIGH, false);
task55->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task55->Start();
sleep(3);
task55->Pause();
sleep(2);
task55->Start();
sleep(2);
task55->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task55->Start();
sleep(1);
bool rtv = task55->IsTaskRunning();
EXPECT_EQ(true, rtv);
task55->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart56
* @tc.desc: TaskJobPauseStopResumeStart56
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart56, TestSize.Level1)
{
std::shared_ptr<Task> task56 = std::make_shared<Task>("workTask56",
"", TaskType::SINGLETON, TaskPriority::HIGH, false);
task56->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task56->Start();
sleep(3);
task56->Pause();
sleep(2);
task56->Start();
sleep(2);
task56->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task56->Start();
sleep(1);
bool rtv = task56->IsTaskRunning();
EXPECT_EQ(true, rtv);
}
* @tc.name: TaskJobPauseStopResumeStart57
* @tc.desc: TaskJobPauseStopResumeStart57
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart57, TestSize.Level1)
{
std::shared_ptr<Task> task57 = std::make_shared<Task>("workTask57",
"", TaskType::GLOBAL, TaskPriority::HIGHEST, false);
task57->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task57->Start();
sleep(3);
task57->Pause();
sleep(2);
task57->Start();
sleep(2);
task57->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task57->Start();
sleep(1);
bool rtv = task57->IsTaskRunning();
EXPECT_EQ(true, rtv);
task57->Stop();
}
* @tc.name: TaskJobPauseStopResumeStart58
* @tc.desc: TaskJobPauseStopResumeStart58
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, TaskJobPauseStopResumeStart58, TestSize.Level1)
{
std::shared_ptr<Task> task58 = std::make_shared<Task>("workTask58",
"", TaskType::VIDEO, TaskPriority::HIGHEST, false);
task58->RegisterJob([this]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task TaskJobPauseStopResumeStart running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 5) {
this->modifyMsg_ = "middle";
}
if (count > 20) {
runningState = false;
}
}
return 0;
});
task58->Start();
sleep(3);
task58->Pause();
sleep(2);
task58->Start();
sleep(2);
task58->Stop();
sleep(1);
EXPECT_EQ("", modifyMsg_);
task58->Start();
sleep(1);
bool rtv = task58->IsTaskRunning();
EXPECT_EQ(true, rtv);
task58->Stop();
}
* @tc.name: WaitFor_Failed
* @tc.desc: WaitFor_Failed
* @tc.type: FUNC
*/
HWTEST_F(TaskInnerUnitTest, WaitFor_Failed, TestSize.Level1)
{
std::shared_ptr<Task> task02 = std::make_shared<Task>("workTask02");
AutoLock lock(mutex_);
task02->RegisterJob([]() {
bool runningState =true;
int count = 0;
while (runningState) {
count++;
MEDIA_LOG_I("Task WaitFor_Failed running at " PUBLIC_LOG_U32, count);
sleep(1);
if (count > 10){
runningState = false;
}
}
return 0;
});
task02->Start();
int timeoutMs = 100;
isStop_.store(false);
auto rtv = cv.WaitFor(lock, timeoutMs, [this] { return isStop_.load(); });
EXPECT_EQ(false, rtv);
}
}
}
}