整合aflcrash(未测试)

This commit is contained in:
even 2025-08-11 22:34:21 +08:00
parent 0ea26cd608
commit 08509ef605

View File

@ -12,6 +12,7 @@ import cd.casic.ci.process.process.dataObject.history.PipPipelineHisInstance;
import cd.casic.ci.process.process.dataObject.pipeline.PipPipeline;
import cd.casic.ci.process.process.dataObject.target.TargetVersion;
import cd.casic.ci.process.process.dataObject.task.PipTask;
import cd.casic.ci.process.process.service.aflAnalyzer.AflCrashesAnalyzerService;
import cd.casic.ci.process.process.service.aflManager.AflInfoService;
import cd.casic.ci.process.process.service.aflManager.AflPlotInfoService;
import cd.casic.ci.process.process.service.aflManager.AflSeedInfoService;
@ -44,6 +45,8 @@ public class AFLWorker extends DockerWorker {
private AflPlotInfoService aflPlotInfoService;
@Resource
private LocalAflCrashesService localAflCrashesService;
@Resource
private AflCrashesAnalyzerService crashesAnalyzerService;
@Override
public void execute(TaskRunContext context) {
int statusCode = -1;
@ -114,7 +117,7 @@ public class AFLWorker extends DockerWorker {
}
localVariables.put(DIYImageExecuteCommandConstant.STATUS_CODE, statusCode);
afterTaskExecute(context);
afterPipelineExecute(context,pipeline);
afterPipelineExecute(context,pipeline,resourceById,allDir+"/aflCrash");
}
}
private String cdSourceName(String fileName){
@ -167,7 +170,7 @@ public class AFLWorker extends DockerWorker {
log.error("保存afl信息失败,入参{}", JSON.toJSONString(req),e);
}
}
private void afterPipelineExecute(TaskRunContext context,PipPipeline pipeline){
private void afterPipelineExecute(TaskRunContext context,PipPipeline pipeline,ResourceDetailResp resource,String crashesOutputPath){
append(context,"开始拉取afl输出信息");
PipTask contextDef = (PipTask)context.getContextDef();
String pipelineId =contextDef.getPipelineId();
@ -197,5 +200,11 @@ public class AFLWorker extends DockerWorker {
localAflCrashesService.saveLocalAflCrashesInfo(crashesSaveReq);
}
});
postHandlerManager.registerPostHandler(new ExecuteTaskPostHandler(taskId,pipelineId) {
@Override
public void executeAfterDone(PipPipelineHisInstance instance) {
crashesAnalyzerService.saveCrashesByOutputPath(crashesOutputPath,resource,instance.getPipelineId(),taskId,instance.getId());
}
});
}
}