已合并
HOST任务停止不删除Uploader,同步Master分支修复 #1382
jinyingqi创建于 4月2日
HOST任务停止不删除Uploader,同步Master分支修复 #1382
已合并
jinyingqi创建于 4月2日
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+ 
95TEST_F(HOST_PROF_TASK_TEST, isDeviceRunProfiling) {117TEST_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;