обновленное создание рабочего пространства тестирования

This commit is contained in:
2023-09-27 15:56:12 +03:00
parent 9148023b2f
commit 7b0e56f5b3
3 changed files with 37 additions and 41 deletions

3
.idea/workspace.xml generated
View File

@@ -8,10 +8,7 @@
<component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforScenario/SapforScenario.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforScenario/SapforScenario.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforScenario/SapforScenariosDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforScenario/SapforScenariosDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackagesDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/SapforTestingSystem/SapforTasksPackage/SapforTasksPackagesDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartSapforTests.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartSapforTests.java" afterDir="false" />
</list>
<option name="SHOW_DIALOG" value="false" />

View File

@@ -13,6 +13,8 @@ public class SapforTasksPackage extends iDBObject {
public int sapforscenario_id = Utils.Nan;
@Description("DEFAULT ''")
public String sapforconfiguration_id = "";
//--
public String workspace = ""; //домашняя папка
//---
@Description("DEFAULT ''")
public String flags = "";

View File

@@ -1,6 +1,7 @@
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;
@@ -8,14 +9,17 @@ import ProjectData.LanguageName;
import Repository.Server.ServerCode;
import Repository.Server.ServerExchangeUnit_2021;
import SapforTestingSystem.SapforConfiguration.SapforConfiguration;
import SapforTestingSystem.SapforConfiguration.SapforConfigurationInterface;
import SapforTestingSystem.SapforConfigurationCommand.SapforConfigurationCommand;
import SapforTestingSystem.SapforScenario.SapforScenario;
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;
@@ -209,72 +213,65 @@ public class StartSapforTests extends Pass_2021<SapforScenario> {
Utils.CheckAndCleanDirectory(scenarioWorkspace);
target.workspace = scenarioWorkspace.getAbsolutePath();
target.testsNames = String.join(";", testsNames_lower);
sapfor = new File(target.workspace, "SAPFOR_F.exe"); //развилка на линукс
ShowMessage2("Копирование SAPFOR");
FileUtils.copyFile(Current.getSapfor().getFile(), sapfor);
ShowMessage2("Копирование визуализатора");
File visualiser = new File(target.workspace, "VisualSapfor.jar");
FileUtils.copyFile(Global.visualiser.getFile(), visualiser);
ShowMessage2("Создание настроек");
GlobalProperties properties = new GlobalProperties();
properties.Mode = Current.Mode.Package;
File propertiesFile = new File(target.workspace, "properties");
FileUtils.write(propertiesFile, Utils.jsonToPrettyFormat(Utils.gson.toJson(properties)));
//----
Global.db.Update(target);
/*
ShowMessage1("Создание рабочих пространств...");
for (SapforConfiguration configuration : Global.testingServer.db.sapforConfigurations.getCheckedItems()) {
SapforTasksPackage sapforTasksPackage_ = new SapforTasksPackage();
SapforTasksPackage sapforTasksPackage = new SapforTasksPackage();
//--
sapforTasksPackage_.sapforconfiguration_id = configuration.id;
sapforTasksPackage_.flags = SapforConfigurationInterface.getFlags(configuration);
sapforTasksPackage_.passesNames = SapforConfigurationInterface.getTransformationsNames(configuration);
sapforTasksPackage.sapforscenario_id = target.id;
sapforTasksPackage.sapforconfiguration_id = configuration.id;
sapforTasksPackage.flags = SapforConfigurationInterface.getFlags(configuration);
sapforTasksPackage.passesNames = SapforConfigurationInterface.getTransformationsNames(configuration);
//--
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_);
sapforTasksPackage_.workspace = Paths.get(
Global.db.Insert(sapforTasksPackage);
sapforTasksPackage.workspace = Paths.get(
Global.db.settings.get(SettingName.Workspace).Value,
String.valueOf(sapforTasksPackage_.id)
String.valueOf(target.id),
String.valueOf(sapforTasksPackage.id)
).toFile().getAbsolutePath();
//---
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_.workspace, "VisualSapfor.jar");
FileUtils.copyFile(Global.visualiser.getFile(), visualiser);
GlobalProperties properties = new GlobalProperties();
properties.Mode = Current.Mode.Package;
File propertiesFile = new File(sapforTasksPackage_.workspace, "properties");
FileUtils.write(propertiesFile, Utils.jsonToPrettyFormat(Utils.gson.toJson(properties)));
Utils.CheckAndCleanDirectory(new File(sapforTasksPackage.workspace));
ShowMessage2("");
//-
File scenarioFile = new File(sapforTasksPackage_.workspace, "scenario.txt");
/*
File scenarioFile = new File(sapforTasksPackage.workspace, "scenario.txt");
Scenario_json scenario_json = new Scenario_json();
scenario_json.tests.addAll(testsNames);
//создать папки для сценариев.
Vector<PassCode_2021> codes = SapforConfigurationInterface.getPassCodes(configuration);
Vector<String> testsNames = new Vector<>();
*/
//---
for (Vector<String> testIds : groupsTests.values()) {
for (String testId : testIds) {
Test test = Global.testingServer.db.tests.get(testId);
ShowMessage2(test.description);
//--
File taskWorkspace = new File(sapforTasksPackage_.workspace, test.description);
File taskWorkspace = new File(sapforTasksPackage.workspace, test.description);
Utils.CheckAndCleanDirectory(taskWorkspace);
//--
Utils.copyDirectory(new File(Global.TestsDirectory, test.id), taskWorkspace);
testsNames.add(test.description);
}
}
//---
scenario_json.flags = SapforConfigurationInterface.getFlags(configuration);
scenario_json.codes.addAll(codes);
//scenario_json.flags = SapforConfigurationInterface.getFlags(configuration);
//scenario_json.codes.addAll(codes);
//---
FileUtils.write(scenarioFile, Utils.jsonToPrettyFormat(Utils.gson.toJson(scenario_json)));
//FileUtils.write(scenarioFile, Utils.jsonToPrettyFormat(Utils.gson.toJson(scenario_json)));
//---
sapforTasksPackage_.testsNames = String.join(";", testsNames);
Global.db.Update(sapforTasksPackage_);
target.add(sapforTasksPackage_);
Global.db.Update(sapforTasksPackage);
}
*/
//--
}
@Override