|  | @@ -518,6 +518,8 @@ bool CSATExecutor::ReportCaseFinish(SATHTTP::STTask* pTask, SATHTTP::STCase *pCa
 | 
	
		
			
				|  |  |  			stJobProcessReq.strResultState = "0";	// 脚本未执行完成;
 | 
	
		
			
				|  |  |  		else
 | 
	
		
			
				|  |  |  		{
 | 
	
		
			
				|  |  | +			if ( pCase->_nExecutionResult == SATHTTP::ABNORMAL )
 | 
	
		
			
				|  |  | +				stJobProcessReq.strFailedReason = "脚本异常结束";
 | 
	
		
			
				|  |  |  			stJobProcessReq.strResultState = "1";
 | 
	
		
			
				|  |  |  			// 同时标记任务失败;
 | 
	
		
			
				|  |  |  			pTask->_nExecutionResult = SATHTTP::FAIL;
 | 
	
	
		
			
				|  | @@ -561,8 +563,7 @@ bool CSATExecutor::ReportCaseFinish(SATHTTP::STTask* pTask, SATHTTP::STCase *pCa
 | 
	
		
			
				|  |  |  	stJobProcessReq.strStartTime = pCase->_strStartTime;
 | 
	
		
			
				|  |  |  	stJobProcessReq.strCrashNumber = "";
 | 
	
		
			
				|  |  |  	stJobProcessReq.strCaseName = pCase->strCaseName;
 | 
	
		
			
				|  |  | -	stJobProcessReq.strFailedReason = "";
 | 
	
		
			
				|  |  | -
 | 
	
		
			
				|  |  | +	
 | 
	
		
			
				|  |  |  	stJobProcessReq.strImgName = "";
 | 
	
		
			
				|  |  |  	stJobProcessReq.strCaseIndex = pCase->strIndex;
 | 
	
		
			
				|  |  |  	// 实例Id;
 | 
	
	
		
			
				|  | @@ -999,6 +1000,20 @@ void CSATExecutor::EndofWork()
 | 
	
		
			
				|  |  |  		CloseHandle(m_hEventExcuteScript);
 | 
	
		
			
				|  |  |  		m_hEventExcuteScript = NULL;
 | 
	
		
			
				|  |  |  	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	// 如果有脚本在执行,结束脚本;
 | 
	
		
			
				|  |  | +	CPythonExecutor *pExecutor = NULL;
 | 
	
		
			
				|  |  | +	for ( std::list<SATHTTP::STTask>::iterator it = m_vtTask.begin(); it != m_vtTask.end(); it++ ) {
 | 
	
		
			
				|  |  | +		for ( std::vector<SATHTTP::STCase>::iterator _case = it->Job.vtCases.begin(); _case != it->Job.vtCases.end(); _case++ ) {
 | 
	
		
			
				|  |  | +			if ( (pExecutor = (CPythonExecutor *)_case->_pExcutor) ) {
 | 
	
		
			
				|  |  | +				pExecutor->EndThread();
 | 
	
		
			
				|  |  | +				delete pExecutor;
 | 
	
		
			
				|  |  | +				pExecutor = NULL;
 | 
	
		
			
				|  |  | +			}
 | 
	
		
			
				|  |  | +		}
 | 
	
		
			
				|  |  | +	}
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +	m_vtTask.clear();
 | 
	
		
			
				|  |  |  }
 | 
	
		
			
				|  |  |  
 | 
	
		
			
				|  |  |  DWORD CSATExecutor::HearbeatThread(LPVOID lpVoid)
 |