已合并
HOST任务停止不删除Uploader,同步Master分支修复 #1382
jinyingqi创建于 4月2日
HOST任务停止不删除Uploader,同步Master分支修复 #1382
已合并
共 2 个文件变更+27-1
| @@ -75,7 +75,11 @@ int32_t ProfTask::Uinit() | |||
| 75 | { | 75 | { |
| 76 | if (isInited_) { | 76 | if (isInited_) { |
| 77 | WriteDone(); | 77 | WriteDone(); |
| 78 | - analysis::dvvp::transport::UploaderMgr::instance()->DelUploader(params_->job_id); | 78 | + // keep HOST JOB uploader to save hash data in MsprofFinaliz later |
| 79 | + // DelAllUploader will delete HOST JOB uploader at last | ||
| 80 | + if (params_->job_id.compare(PROF_HOST_JOBID) != 0) { | ||
| 81 | + analysis::dvvp::transport::UploaderMgr::instance()->DelUploader(params_->job_id); | ||
| 82 | + } | ||
| 79 | isInited_ = false; | 83 | isInited_ = false; |
| 80 | MSPROF_EVENT("Uninit ProfTask successfully"); | 84 | MSPROF_EVENT("Uninit ProfTask successfully"); |
| 81 | } | 85 | } |
| @@ -92,6 +92,28 @@ TEST_F(HOST_PROF_TASK_TEST, Init) { | |||
| 92 | EXPECT_EQ(PROFILING_SUCCESS, task->Init()); | 92 | EXPECT_EQ(PROFILING_SUCCESS, task->Init()); |
| 93 | } | 93 | } |
| 94 | 94 | ||
| 95 | +TEST_F(HOST_PROF_TASK_TEST, UinitWithHostJobId) | ||
| 96 | +{ | ||
| 97 | + GlobalMockObject::verify(); | ||
| 98 | + | ||
| 99 | + std::shared_ptr<analysis::dvvp::host::ProfTask> task(new analysis::dvvp::host::ProfTask(_devices, param_)); | ||
| 100 | + | ||
| 101 | + MOCKER_CPP(&analysis::dvvp::transport::Uploader::Flush).stubs(); | ||
| 102 | + | ||
| 103 | + MOCKER(mmCreateTaskWithThreadAttr).stubs().will(returnValue(EN_OK)); | ||
| 104 | + | ||
| 105 | + MOCKER(pthread_create).stubs().then(returnValue(-1)); | ||
| 106 | + | ||
| 107 | + MOCKER_CPP(&analysis::dvvp::transport::UploaderMgr::DelUploader).stubs().will(returnValue(PROFILING_SUCCESS)); | ||
| 108 | + | ||
| 109 | + param_->job_id = PROF_HOST_JOBID; | ||
| 110 | + EXPECT_EQ(PROFILING_SUCCESS, task->Init()); | ||
| 111 | + EXPECT_TRUE(task->isInited_); | ||
| 112 | + | ||
| 113 | + EXPECT_EQ(PROFILING_SUCCESS, task->Uinit()); | ||
| 114 | + EXPECT_FALSE(task->isInited_); | ||
| 115 | +} | ||
| 116 | + | ||
| 95 | TEST_F(HOST_PROF_TASK_TEST, isDeviceRunProfiling) { | 117 | TEST_F(HOST_PROF_TASK_TEST, isDeviceRunProfiling) { |
| 96 | GlobalMockObject::verify(); | 118 | GlobalMockObject::verify(); |
| 97 | std::string dumpMode = param_->profiling_mode; | 119 | std::string dumpMode = param_->profiling_mode; |