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

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,7 +1,7 @@
package Visual_DVM_2021.Passes.All;
import Common.Global;
import Common.Utils.Utils;
import SapforTestingSystem.SapforTask.SapforTask_2023;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.Json.ScenarioResults_json;
import Visual_DVM_2021.Passes.Pass_2021;
import org.apache.commons.io.FileUtils;
@@ -30,7 +30,7 @@ public class AnalyseSapforPackageResults extends Pass_2021<ScenarioResults_json>
}
@Override
protected void body() throws Exception {
for (SapforTask_2023 task: target.tasks) {
for (SapforTask task: target.tasks) {
task.id=Global.db.IncSapforMaxTaskId();
Global.db.Insert(task);
}

View File

@@ -3,14 +3,11 @@ import Common.Current;
import Common.Database.Database;
import Common.Global;
import Common.UI.UI;
import Common.Utils.Utils;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage_2023;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import Visual_DVM_2021.Passes.DeleteObjectPass;
import java.io.File;
public class DeleteSapforTasksPackage extends DeleteObjectPass<SapforTasksPackage_2023> {
public class DeleteSapforTasksPackage extends DeleteObjectPass<SapforTasksPackage> {
public DeleteSapforTasksPackage() {
super(SapforTasksPackage_2023.class);
super(SapforTasksPackage.class);
}
@Override
protected Database getDb() {
@@ -25,6 +22,6 @@ public class DeleteSapforTasksPackage extends DeleteObjectPass<SapforTasksPackag
@Override
protected void body() throws Exception {
super.body();
Utils.delete_with_check(new File(target.workspace));
// Utils.delete_with_check(new File(target.workspace));
}
}

View File

@@ -1,14 +1,12 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import Common.Utils.Utils;
import ProjectData.Files.DBProjectFile;
import ProjectData.LanguageName;
import ProjectData.Messages.Errors.MessageError;
import ProjectData.Project.db_project_info;
import SapforTestingSystem.SapforTask.SapforTaskResult;
import SapforTestingSystem.SapforTask.SapforTask_2023;
import SapforTestingSystem.Json.SapforVersion_json;
import SapforTestingSystem.SapforTask.SapforTaskResult;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Pass_2021;
import org.apache.commons.io.FileUtils;
@@ -204,9 +202,10 @@ public class OpenSapforTest extends Pass_2021<SapforTaskResult> {
}
@Override
protected void body() throws Exception {
/*
File resultsFile = Paths.get(target.sapforTasksPackage.workspace, target.task.test_description, db_project_info.data, "results.txt").toFile();
String resultsText = FileUtils.readFileToString(resultsFile);
SapforTask_2023 savedTask = Utils.gson.fromJson(resultsText, SapforTask_2023.class);
SapforTask savedTask = Utils.gson.fromJson(resultsText, SapforTask.class);
//--->>
if (target.task.versions_tree_built == 0) {
ShowMessage1("Построение дерева версий..");
@@ -221,6 +220,7 @@ public class OpenSapforTest extends Pass_2021<SapforTaskResult> {
last_version = savedTask.variants.lastElement().version;
} else if (!savedTask.versions.isEmpty())
last_version = savedTask.versions.lastElement().version;
*/
}
@Override
protected boolean validate() {

View File

@@ -2,7 +2,7 @@ package Visual_DVM_2021.Passes.All;
import Common.Utils.Utils;
import GlobalData.Tasks.TaskState;
import ProjectData.Project.db_project_info;
import SapforTestingSystem.SapforTask.SapforTask_2023;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.Json.SapforVersion_json;
import SapforTestingSystem.Json.ScenarioResults_json;
import SapforTestingSystem.Json.Scenario_json;
@@ -35,7 +35,7 @@ public class PerformSapforTasksPackage extends Pass_2021<Scenario_json> {
//--
ScenarioResults_json results;
//-
SapforTask_2023 taskResult = null;
SapforTask taskResult = null;
//--
@Override
protected boolean canStart(Object... args) throws Exception {
@@ -56,7 +56,7 @@ public class PerformSapforTasksPackage extends Pass_2021<Scenario_json> {
//--
parentTask = new File(packageWorkspace, test);
//--
taskResult = new SapforTask_2023();
taskResult = new SapforTask();
taskResult.test_description = test;
taskResult.sapfortaskspackage_2023_id = Integer.parseInt(packageWorkspace.getName());
taskResult.versions.add(new SapforVersion_json(parentTask.getAbsolutePath(), "исходная"));

View File

@@ -3,12 +3,11 @@ import Common.Global;
import Common.Utils.Utils;
import GlobalData.Tasks.TaskState;
import ProjectData.Project.db_project_info;
import SapforTestingSystem.SapforTask.SapforTask_2023;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage_2023;
import SapforTestingSystem.Json.SapforVersion_json;
import SapforTestingSystem.Json.ScenarioResults_json;
import SapforTestingSystem.Json.Scenario_json;
import TestingSystem.TasksPackage.TasksPackageState;
import SapforTestingSystem.SapforTask.SapforTask;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.PassException;
import Visual_DVM_2021.Passes.Pass_2021;
@@ -19,11 +18,10 @@ import java.nio.charset.Charset;
import java.nio.file.Paths;
import java.util.Arrays;
import java.util.Comparator;
import java.util.Date;
import java.util.Vector;
//создание дерева версий одного теста по заданному сценарию.
public class PerformScenario extends Pass_2021<Scenario_json> {
SapforTasksPackage_2023 tasks_package;
SapforTasksPackage tasks_package;
File scenarioFile;
//---
File parentTask;
@@ -40,7 +38,7 @@ public class PerformScenario extends Pass_2021<Scenario_json> {
//--
ScenarioResults_json results;
//-
SapforTask_2023 taskResult = null;
SapforTask taskResult = null;
//--
@Override
protected boolean needsAnimation() {
@@ -50,9 +48,9 @@ public class PerformScenario extends Pass_2021<Scenario_json> {
@Override
protected boolean canStart(Object... args) throws Exception {
//--
tasks_package = (SapforTasksPackage_2023) args[0];
tasks_package = (SapforTasksPackage) args[0];
//---
scenarioFile = new File(tasks_package.workspace, "scenario.txt");
// scenarioFile = new File(tasks_package.workspace, "scenario.txt");
String packed = FileUtils.readFileToString(scenarioFile, Charset.defaultCharset());
target = Utils.gson.fromJson(packed, Scenario_json.class);
//---
@@ -60,7 +58,7 @@ public class PerformScenario extends Pass_2021<Scenario_json> {
return true;
}
protected void saveResults() throws Exception {
for (SapforTask_2023 task : results.tasks) {
for (SapforTask task : results.tasks) {
if (!task.versions.isEmpty()) {
File taskResultFile = Paths.get(task.versions.firstElement().version, db_project_info.data, "results.txt").toFile();
FileUtils.write(taskResultFile, Utils.jsonToPrettyFormat(Utils.gson.toJson(task)));
@@ -68,18 +66,15 @@ public class PerformScenario extends Pass_2021<Scenario_json> {
task.id = Global.db.IncSapforMaxTaskId();
Global.db.Insert(task);
}
tasks_package.ChangeDate = new Date().getTime();
tasks_package.state = TasksPackageState.Done;
Global.db.Update(tasks_package);
}
@Override
protected void body() throws Exception {
for (String test : target.tests) {
ShowMessage1(test);
//--
parentTask = new File(tasks_package.workspace, test);
// parentTask = new File(tasks_package.workspace, test);
//--
taskResult = new SapforTask_2023();
taskResult = new SapforTask();
taskResult.test_description = test;
taskResult.sapfortaskspackage_2023_id = tasks_package.id;
taskResult.versions.add(new SapforVersion_json(parentTask.getAbsolutePath(), "исходная"));

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 {

View File

@@ -1,5 +1,5 @@
package Visual_DVM_2021.UI.Interface;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage_2023;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
public interface TestingWindow extends VisualizerForm {
void ShowAll();
void RestoreLastCredentials();
@@ -52,5 +52,5 @@ public interface TestingWindow extends VisualizerForm {
void ShowLastRunTask();
//-
void RemoveSapforPackageFromComparison(SapforTasksPackage_2023 package_2023);
void RemoveSapforPackageFromComparison(SapforTasksPackage package_2023);
}

View File

@@ -8,7 +8,7 @@ import Common.UI.Menus_2023.VisualiserMenuBar;
import Common.UI.UI;
import Common.Utils.TextLog;
import SapforTestingSystem.SapforTask.SapforTaskResult;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage_2023;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import TestingSystem.Test.ProjectFiles_json;
import Visual_DVM_2021.Passes.Pass_2021;
@@ -33,7 +33,7 @@ public class SapforPackagesComparisonForm {
SapforPackagesComparisonForm slave = null;
SapforPackagesComparisonForm master = null;
//-->>
protected SapforTasksPackage_2023 object = null;
protected SapforTasksPackage object = null;
//-->>
protected DataSet<String, SapforTaskResult> packageTasks;
protected DataSetControlForm Body;
@@ -228,7 +228,7 @@ public class SapforPackagesComparisonForm {
};
pass.Do();
}
public void CheckObject(SapforTasksPackage_2023 object_in) {
public void CheckObject(SapforTasksPackage object_in) {
if ((object != null) && object_in.id == (object.id)) {
RemoveObject();
}

View File

@@ -1,10 +1,10 @@
package Visual_DVM_2021.UI.Main;
import Common.Current;
import SapforTestingSystem.SapforTask.SapforTask_2023;
import SapforTestingSystem.SapforTask.SapforTask;
//упразднить.
public class SapforTasksComparisonForm extends TasksComparisonForm<SapforTask_2023> {
public SapforTasksComparisonForm(ComparisonForm<SapforTask_2023> slave_in) {
super(SapforTask_2023.class, slave_in);
public class SapforTasksComparisonForm extends TasksComparisonForm<SapforTask> {
public SapforTasksComparisonForm(ComparisonForm<SapforTask> slave_in) {
super(SapforTask.class, slave_in);
}
@Override
protected Current getCurrentObjectName() {

View File

@@ -774,7 +774,7 @@
<splitpane id="8543b" binding="SC53">
<constraints border-constraint="Center"/>
<properties>
<dividerLocation value="86"/>
<dividerLocation value="100"/>
<dividerSize value="3"/>
<orientation value="0"/>
</properties>
@@ -824,16 +824,38 @@
</properties>
<border type="none"/>
<children>
<grid id="7cddb" binding="sapforPackagesPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<splitpane id="d5aac" binding="SC62">
<constraints>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false"/>
<grid row="0" column="0" row-span="1" col-span="1" vsize-policy="3" hsize-policy="3" anchor="0" fill="3" indent="0" use-parent-layout="false">
<preferred-size width="200" height="200"/>
</grid>
</constraints>
<properties>
<minimumSize width="0" height="200"/>
<dividerLocation value="200"/>
<dividerSize value="3"/>
</properties>
<border type="none"/>
<children/>
</grid>
<children>
<grid id="a5ba7" binding="sapforPackagesPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="right"/>
</constraints>
<properties>
<minimumSize width="0" height="200"/>
</properties>
<border type="none"/>
<children/>
</grid>
<grid id="eec01" binding="sapforScenariosPanel" layout-manager="BorderLayout" hgap="0" vgap="0">
<constraints>
<splitpane position="left"/>
</constraints>
<properties/>
<border type="none"/>
<children/>
</grid>
</children>
</splitpane>
</children>
</grid>
</children>

View File

@@ -7,10 +7,10 @@ import Common.UI.UI;
import Common.Utils.Utils;
import GlobalData.Compiler.CompilerType;
import GlobalData.Credentials.Credentials;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage;
import TestingSystem.Configuration.UI.ConfigurationDBTable;
import TestingSystem.Group.Group;
import TestingSystem.MachineMaxKernels.MachineMaxKernels;
import SapforTestingSystem.SapforTasksPackage.SapforTasksPackage_2023;
import TestingSystem.TasksPackage.TasksPackageDBTable;
import TestingSystem.Test.Test;
import Visual_DVM_2021.UI.Interface.FormWithSplitters;
@@ -45,6 +45,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
public JSplitPane SC58;
public JSplitPane SC59;
public JSplitPane SC19;
public JSplitPane SC62;
//-
//---
private JPanel machinesPanel;
@@ -86,6 +87,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
private JLabel sapforTasksPackagesLabel;
private JLabel sapforTasksLabel;
private JPanel groupsBackground;
private JPanel sapforScenariosPanel;
private JPanel testsRunTasksBackground;
private JCheckBox filterFinished;
private JButton bTest;
@@ -148,6 +150,7 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
//--
Global.testingServer.db.sapforConfigurations.mountUI(sapforConfigurationsPanel);
Global.testingServer.db.sapforConfigurationCommands.mountUI(sapforConfigurationCommandsPanel);
Global.db.sapforScenarios.mountUI(sapforScenariosPanel);
Global.db.sapforTasksPackages.mountUI(sapforPackagesPanel);
//Global.db.sapforTasks.mountUI(sapforTasksPanel);
// Global.testingServer.account_db.sapforTasksPackages.mountUI(sapforPackagesPanel);
@@ -183,7 +186,8 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
Global.testingServer.db.groups.ShowUI();
Global.testingServer.account_db.packages.ShowUI();
Global.testingServer.db.sapforConfigurations.ShowUI();
Global.db.sapforTasksPackages.ShowUI();
Global.db.sapforScenarios.ShowUI();
// Global.db.sapforTasksPackages.ShowUI();
}
//-
@Override
@@ -467,9 +471,8 @@ public class TestingForm implements FormWithSplitters, TestingWindow {
public void ShowLastRunTask() {
singleRunTaskMaster.ApplyObject();
}
@Override
public void RemoveSapforPackageFromComparison(SapforTasksPackage_2023 package_2023) {
public void RemoveSapforPackageFromComparison(SapforTasksPackage package_2023) {
sapforTestingMaster.CheckObject(package_2023);
sapforTestingSlave.CheckObject(package_2023);
}