no message
This commit is contained in:
69
src/TestingSystem/SAPFOR/PackageModeSupervisor.java
Normal file
69
src/TestingSystem/SAPFOR/PackageModeSupervisor.java
Normal file
@@ -0,0 +1,69 @@
|
||||
package TestingSystem.SAPFOR;
|
||||
import Common.Constants;
|
||||
import Common.Global;
|
||||
import Common.Utils.Utils;
|
||||
import TestingSystem.SAPFOR.Json.SapforConfiguration_json;
|
||||
import TestingSystem.SAPFOR.Json.SapforTasksPackage_json;
|
||||
import TestingSystem.SAPFOR.Json.SapforTasksResults_json;
|
||||
import TestingSystem.SAPFOR.Json.SapforTest_json;
|
||||
import TestingSystem.SAPFOR.SapforTask.SapforTask;
|
||||
import SapforTestingSystem.TaskThread;
|
||||
import SapforTestingSystem.ThreadsPlanner.ThreadsPlanner;
|
||||
import Visual_DVM_2021.Passes.PassCode_2021;
|
||||
import org.apache.commons.io.FileUtils;
|
||||
|
||||
import java.io.File;
|
||||
import java.util.Date;
|
||||
import java.util.Vector;
|
||||
public class PackageModeSupervisor extends ThreadsPlanner {
|
||||
SapforTasksPackage_json package_json = null;
|
||||
SapforTasksResults_json results_json = new SapforTasksResults_json();
|
||||
public PackageModeSupervisor() throws Exception {
|
||||
super(2000);
|
||||
package_json = (SapforTasksPackage_json) Utils.jsonFromFile(new File(Global.Home, Constants.package_json), SapforTasksPackage_json.class);
|
||||
Date startDate = new Date();
|
||||
results_json.StartDate = startDate.getTime();
|
||||
File started = new File(Constants.STARTED);
|
||||
FileUtils.writeStringToFile(started, String.valueOf(startDate));
|
||||
//формирование списка задач.
|
||||
File sapfor_drv = new File(Global.Home, package_json.sapfor_drv);
|
||||
setMaxKernels(package_json.kernels);
|
||||
for (SapforConfiguration_json sapforConfiguration_json : package_json.configurations) {
|
||||
for (SapforTest_json test : package_json.tests) {
|
||||
//--- чтобы было можно на нее сослаться после выполнения всех нитей.
|
||||
SapforTask task = new SapforTask();
|
||||
task.group_description = test.group_description;
|
||||
task.test_description = test.test_description;
|
||||
task.flags = sapforConfiguration_json.flags;
|
||||
task.sapfor_configuration_id = sapforConfiguration_json.id;
|
||||
task.sapfortaskspackage_id = new File(Global.Home).getName();
|
||||
results_json.tasks.add(task);
|
||||
Vector<String> codes_s = new Vector<>();
|
||||
for (PassCode_2021 code : sapforConfiguration_json.codes) {
|
||||
codes_s.add(code.toString());
|
||||
}
|
||||
task.codes = String.join(" ", codes_s);
|
||||
//---
|
||||
addThread(new TaskThread(task, sapfor_drv, sapforConfiguration_json));
|
||||
}
|
||||
}
|
||||
interruptThread.start();
|
||||
}
|
||||
@Override
|
||||
public String printThread(Integer id) {
|
||||
TaskThread taskThread = (TaskThread) threads.get(id);
|
||||
return taskThread.task.getSummary();
|
||||
}
|
||||
@Override
|
||||
protected void finalize() {
|
||||
results_json.EndDate = new Date().getTime();
|
||||
//записать результаты всех задач.
|
||||
try {
|
||||
Utils.jsonToFile(results_json, new File(Global.Home, Constants.results_json));
|
||||
FileUtils.writeStringToFile(new File(Constants.DONE), "");
|
||||
} catch (Exception e) {
|
||||
Global.Log.PrintException(e);
|
||||
}
|
||||
System.exit(0);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user