рефакторинг. были дубли сущностей.

This commit is contained in:
2023-09-30 22:02:58 +03:00
parent 793c4b7d93
commit 75fab8f5e2
6 changed files with 78 additions and 244 deletions

View File

@@ -3,38 +3,40 @@ import Common.Global;
import Common.Utils.Utils;
import SapforTestingSystem.Json.SapforPackage_json;
import SapforTestingSystem.Json.SapforScenario_json;
import SapforTestingSystem.SapforTest.SapforTest;
import SapforTestingSystem.PerformSapforTask;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.ThreadsPlanner.ThreadsPlanner;
import java.io.File;
import java.nio.file.Paths;
import java.util.Vector;
public class SapforTestingPlanner extends ThreadsPlanner {
SapforScenario_json scenario_json = null;
Vector<SapforTask> tasks = new Vector<>();
public SapforTestingPlanner() throws Exception {
super(Global.properties.threadsTimeout, Global.properties.threadsNum);
scenario_json = (SapforScenario_json) Utils.jsonFromFile(new File(Global.Home, "scenario.txt"), SapforScenario_json.class);
//формирование списка задач.
File sapfor_drv = new File(Global.Home, scenario_json.sapfor_drv);
for (SapforPackage_json sapforPackage_json : scenario_json.packages) {
for (String testName : scenario_json.tests) {
addThread(() -> {
try {
new SapforTest(
new File(Global.Home, scenario_json.sapfor_drv),
Paths.get(Global.Home, sapforPackage_json.id, testName).toFile(),
sapforPackage_json.flags,
sapforPackage_json.codes).Do();
} catch (Exception exception) {
Global.Log.PrintException(exception);
}
});
//--- чтобы было можно на нее сослаться после выполнения всех нитей.
SapforTask task = new SapforTask();
tasks.add(task);
//---
addThread(() -> new PerformSapforTask().Do(
sapfor_drv,
sapforPackage_json,
testName,
task
));
}
}
interruptThread.start();
}
@Override
public void Interrupt() throws Exception {
System.out.println("killing "+scenario_json.sapfor_drv+"...");
String kill_command = Global.isWindows? ("taskkill /FI \"IMAGENAME eq " + scenario_json.sapfor_drv+ "\" /F /T"):
System.out.println("killing " + scenario_json.sapfor_drv + "...");
String kill_command = Global.isWindows ? ("taskkill /FI \"IMAGENAME eq " + scenario_json.sapfor_drv + "\" /F /T") :
("killall -SIGKILL " + scenario_json.sapfor_drv);
Process killer = Runtime.getRuntime().exec(kill_command);
killer.waitFor();