процесс рефакторинга. Так как нужно запускать тесты на многих флагах, понадобилось внести дополнительные объекты.

This commit is contained in:
2023-09-27 00:43:23 +03:00
parent 0026701347
commit 42338700f4
25 changed files with 297 additions and 193 deletions

View File

@@ -1,32 +1,24 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import Common.GlobalProperties;
import Common.UI.UI;
import Common.Utils.Utils;
import GlobalData.Settings.SettingName;
import ProjectData.LanguageName;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import TestingSystem.Group.Group;
import SapforTestingSystem.SapforConfiguration.SapforConfiguration;
import SapforTestingSystem.SapforConfiguration.SapforConfigurationInterface;
import SapforTestingSystem.SapforConfigurationCommand.SapforConfigurationCommand;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage_2023;
import SapforTestingSystem.Json.Scenario_json;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import TestingSystem.Group.Group;
import TestingSystem.Test.Test;
import TestingSystem.Test.TestInterface;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import Visual_DVM_2021.Passes.TestingSystemPass;
import org.apache.commons.io.FileUtils;
import java.io.File;
import java.nio.file.Paths;
import java.util.Date;
import java.util.LinkedHashMap;
import java.util.Vector;
public class StartSapforTests extends Pass_2021<Vector<SapforTasksPackage_2023>> {
public class StartSapforTests extends Pass_2021<Vector<SapforTasksPackage>> {
protected int allTasksCount = 0;
//--
protected LinkedHashMap<String, Vector<String>> groupsTests = null;
@@ -208,43 +200,43 @@ public class StartSapforTests extends Pass_2021<Vector<SapforTasksPackage_2023>>
);
}
}
/*
ShowMessage1("Создание рабочих пространств...");
for (SapforConfiguration configuration : Global.testingServer.db.sapforConfigurations.getCheckedItems()) {
SapforTasksPackage_2023 sapforTasksPackage_2023 = new SapforTasksPackage_2023();
SapforTasksPackage sapforTasksPackage_ = new SapforTasksPackage();
//--
sapforTasksPackage_2023.StartDate = new Date().getTime();
sapforTasksPackage_2023.sapfor_version = String.valueOf(Current.getSapfor().version);
sapforTasksPackage_2023.tasksCount = allTasksCount;
sapforTasksPackage_2023.sapforconfiguration_id = configuration.id;
sapforTasksPackage_2023.flags = SapforConfigurationInterface.getFlags(configuration);
sapforTasksPackage_2023.passesNames = SapforConfigurationInterface.getTransformationsNames(configuration);
sapforTasksPackage_.sapfor_version = String.valueOf(Current.getSapfor().version);
sapforTasksPackage_.tasksCount = allTasksCount;
sapforTasksPackage_.sapforconfiguration_id = configuration.id;
sapforTasksPackage_.flags = SapforConfigurationInterface.getFlags(configuration);
sapforTasksPackage_.passesNames = SapforConfigurationInterface.getTransformationsNames(configuration);
//--
sapforTasksPackage_2023.STATIC_SHADOW_ANALYSIS = configuration.STATIC_SHADOW_ANALYSIS;//"Оптимизация теневых обменов"; -sh
sapforTasksPackage_2023.FREE_FORM = configuration.FREE_FORM;
sapforTasksPackage_2023.MAX_SHADOW_WIDTH = configuration.MAX_SHADOW_WIDTH; // "Максимальный размер теневых граней"; (%) -shwidth значение поля
sapforTasksPackage_2023.KEEP_SPF_DIRECTIVES = configuration.KEEP_SPF_DIRECTIVES; //"Сохранять SPF директивы при построении параллельных вариантов"; -keepSPF
sapforTasksPackage_2023.KEEP_DVM_DIRECTIVES = configuration.KEEP_DVM_DIRECTIVES;// "Учитывать DVM директивы"; -keepDVM
sapforTasksPackage_.STATIC_SHADOW_ANALYSIS = configuration.STATIC_SHADOW_ANALYSIS;//"Оптимизация теневых обменов"; -sh
sapforTasksPackage_.FREE_FORM = configuration.FREE_FORM;
sapforTasksPackage_.MAX_SHADOW_WIDTH = configuration.MAX_SHADOW_WIDTH; // "Максимальный размер теневых граней"; (%) -shwidth значение поля
sapforTasksPackage_.KEEP_SPF_DIRECTIVES = configuration.KEEP_SPF_DIRECTIVES; //"Сохранять SPF директивы при построении параллельных вариантов"; -keepSPF
sapforTasksPackage_.KEEP_DVM_DIRECTIVES = configuration.KEEP_DVM_DIRECTIVES;// "Учитывать DVM директивы"; -keepDVM
//--
Global.db.Insert(sapforTasksPackage_2023);
sapforTasksPackage_2023.workspace = Paths.get(
Global.db.Insert(sapforTasksPackage_);
sapforTasksPackage_.workspace = Paths.get(
Global.db.settings.get(SettingName.Workspace).Value,
String.valueOf(sapforTasksPackage_2023.id)
String.valueOf(sapforTasksPackage_.id)
).toFile().getAbsolutePath();
//---
Utils.CheckAndCleanDirectory(new File(sapforTasksPackage_2023.workspace));
sapfor = new File(sapforTasksPackage_2023.workspace, "SAPFOR_F.exe"); //развилка на линукс
Utils.CheckAndCleanDirectory(new File(sapforTasksPackage_.workspace));
sapfor = new File(sapforTasksPackage_.workspace, "SAPFOR_F.exe"); //развилка на линукс
ShowMessage2("Копирование SAPFOR");
FileUtils.copyFile(Current.getSapfor().getFile(), sapfor);
ShowMessage2("Копирование визуализатора");
File visualiser = new File(sapforTasksPackage_2023.workspace, "VisualSapfor.jar");
File visualiser = new File(sapforTasksPackage_.workspace, "VisualSapfor.jar");
FileUtils.copyFile(Global.visualiser.getFile(), visualiser);
GlobalProperties properties = new GlobalProperties();
properties.Mode = Current.Mode.Package;
File propertiesFile = new File(sapforTasksPackage_2023.workspace, "properties");
File propertiesFile = new File(sapforTasksPackage_.workspace, "properties");
FileUtils.write(propertiesFile, Utils.jsonToPrettyFormat(Utils.gson.toJson(properties)));
ShowMessage2("");
//-
File scenarioFile = new File(sapforTasksPackage_2023.workspace, "scenario.txt");
File scenarioFile = new File(sapforTasksPackage_.workspace, "scenario.txt");
Scenario_json scenario_json = new Scenario_json();
scenario_json.tests.addAll(testsNames);
//создать папки для сценариев.
@@ -256,7 +248,7 @@ public class StartSapforTests extends Pass_2021<Vector<SapforTasksPackage_2023>>
Test test = Global.testingServer.db.tests.get(testId);
ShowMessage2(test.description);
//--
File taskWorkspace = new File(sapforTasksPackage_2023.workspace, test.description);
File taskWorkspace = new File(sapforTasksPackage_.workspace, test.description);
Utils.CheckAndCleanDirectory(taskWorkspace);
//--
Utils.copyDirectory(new File(Global.TestsDirectory, test.id), taskWorkspace);
@@ -269,10 +261,11 @@ public class StartSapforTests extends Pass_2021<Vector<SapforTasksPackage_2023>>
//---
FileUtils.write(scenarioFile, Utils.jsonToPrettyFormat(Utils.gson.toJson(scenario_json)));
//---
sapforTasksPackage_2023.testsNames = String.join(";", testsNames);
Global.db.Update(sapforTasksPackage_2023);
target.add(sapforTasksPackage_2023);
sapforTasksPackage_.testsNames = String.join(";", testsNames);
Global.db.Update(sapforTasksPackage_);
target.add(sapforTasksPackage_);
}
*/
//--
}
@Override
@@ -281,13 +274,14 @@ public class StartSapforTests extends Pass_2021<Vector<SapforTasksPackage_2023>>
}
@Override
protected void performDone() throws Exception {
/*
//тут должен быть планировщик и очередь пакетов. отдельной нитью.
for (SapforTasksPackage_2023 sapforTasksPackage_2023 : target) {
File workspaceFile = new File(sapforTasksPackage_2023.workspace);
// Utils.startScript(workspaceFile, workspaceFile, "start", "java -jar VisualSapfor.jar");
Utils.startScript_(workspaceFile, workspaceFile, "start", "java -jar VisualSapfor.jar");
}
*/
}
@Override
protected void showDone() throws Exception {