промежуточный. тестирую новую версий конфигураций

This commit is contained in:
2024-09-15 01:36:19 +03:00
parent 1e782daa3d
commit 7ea64c49d1
18 changed files with 488 additions and 52 deletions

20
.idea/workspace.xml generated
View File

@@ -7,12 +7,24 @@
</component> </component>
<component name="ChangeListManager"> <component name="ChangeListManager">
<list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment=""> <list default="true" id="e42177c3-2328-4b27-8a01-35779b2beb99" name="Default Changelist" comment="">
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMConfiguration.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/ShowCurrentDVMConfigurationTests.java" afterDir="false" />
<change afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartCurrentDVMConfiguration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" /> <change beforePath="$PROJECT_DIR$/.idea/workspace.xml" beforeDir="false" afterPath="$PROJECT_DIR$/.idea/workspace.xml" afterDir="false" />
<change beforePath="$PROJECT_DIR$/properties" beforeDir="false" afterPath="$PROJECT_DIR$/properties" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Current.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Current.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/UI/UI.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/UI/UI.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Common/Utils/Utils.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Common/Utils/Utils.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/Configuration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/Configuration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingPackage/TestingPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/RemoteDVMTestingPlanner.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestingServer.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/AbortTestingPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/AbortTestingPackage.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/Common/TestsDatabase.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/SaveCurrentDVMPackage.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/ConfigurationDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/DVMConfigurationDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartDVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/All/StartDVMPackage.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/ConfigurationsMenuBar.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/DVMConfigurationsMenuBar.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/DVMConfiguration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/Configuration/DVMConfiguration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/DVM/DVMPackage/DVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/SapforConfigurationDBTable.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/TestingSystem/SAPFOR/SapforConfiguration/SapforConfigurationDBTable.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/Visual_DVM_2021/Passes/PassCode_2021.java" afterDir="false" />
</list> </list>
<option name="SHOW_DIALOG" value="false" /> <option name="SHOW_DIALOG" value="false" />
<option name="HIGHLIGHT_CONFLICTS" value="true" /> <option name="HIGHLIGHT_CONFLICTS" value="true" />

View File

@@ -10,7 +10,7 @@
"SMTPHost": "smtp.mail.ru", "SMTPHost": "smtp.mail.ru",
"SMTPPort": 465, "SMTPPort": 465,
"MailSocketPort": 465, "MailSocketPort": 465,
"collapseCredentials": true, "collapseCredentials": false,
"collapseFileGraphs": false, "collapseFileGraphs": false,
"collapseFileMessages": false, "collapseFileMessages": false,
"collapseProjectTrees": false, "collapseProjectTrees": false,

View File

@@ -86,7 +86,7 @@ public enum Current {
Scenario, Scenario,
ScenarioCommand, ScenarioCommand,
//- //-
Configuration, DVMConfiguration,
Group, Group,
//- //-
DVMParameterValue, DVMParameterValue,
@@ -224,10 +224,10 @@ public enum Current {
} }
//-- //--
public static boolean HasConfiguration() { public static boolean HasConfiguration() {
return get(Current.Configuration) != null; return get(Current.DVMConfiguration) != null;
} }
public static DVMConfiguration getConfiguration() { public static DVMConfiguration getDVMConfiguration() {
return (DVMConfiguration) get(Current.Configuration); return (DVMConfiguration) get(Current.DVMConfiguration);
} }
public static SapforConfiguration getSapforConfiguration() { public static SapforConfiguration getSapforConfiguration() {
return (TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration) get(Current.SapforConfiguration); return (TestingSystem.SAPFOR.SapforConfiguration.SapforConfiguration) get(Current.SapforConfiguration);
@@ -381,7 +381,7 @@ public enum Current {
return "Пакет тестирования SAPFOR"; return "Пакет тестирования SAPFOR";
case DVMPackage: case DVMPackage:
return "Пакет тестирования DVM"; return "Пакет тестирования DVM";
case Configuration: case DVMConfiguration:
return "Конфигурация тестирования"; return "Конфигурация тестирования";
case ServerSapfor: case ServerSapfor:
return "тестовая версия SAPFOR"; return "тестовая версия SAPFOR";

View File

@@ -66,8 +66,8 @@ import TestingSystem.Common.Group.GroupsMenuBar;
import TestingSystem.Common.Test.TestDBTable; import TestingSystem.Common.Test.TestDBTable;
import TestingSystem.Common.Test.TestsMenuBar; import TestingSystem.Common.Test.TestsMenuBar;
import TestingSystem.Common.TestingBar; import TestingSystem.Common.TestingBar;
import TestingSystem.DVM.Configuration.ConfigurationDBTable; import TestingSystem.DVM.Configuration.DVMConfigurationDBTable;
import TestingSystem.DVM.Configuration.ConfigurationsMenuBar; import TestingSystem.DVM.Configuration.DVMConfigurationsMenuBar;
import TestingSystem.DVM.DVMPackage.DVMPackageDBTable; import TestingSystem.DVM.DVMPackage.DVMPackageDBTable;
import TestingSystem.DVM.DVMPackage.DVMPackagesBar; import TestingSystem.DVM.DVMPackage.DVMPackagesBar;
import TestingSystem.DVM.DVMTasks.DVMRunTasksBar; import TestingSystem.DVM.DVMTasks.DVMRunTasksBar;
@@ -101,7 +101,6 @@ import javax.swing.text.Highlighter;
import javax.swing.tree.TreeCellRenderer; import javax.swing.tree.TreeCellRenderer;
import java.awt.*; import java.awt.*;
import java.util.LinkedHashMap; import java.util.LinkedHashMap;
import java.util.Locale;
import java.util.Stack; import java.util.Stack;
import java.util.Vector; import java.util.Vector;
@@ -226,7 +225,7 @@ public class UI {
//---------------------------------------------------->> //---------------------------------------------------->>
menuBars.put(GroupsDBTable.class, new GroupsMenuBar()); menuBars.put(GroupsDBTable.class, new GroupsMenuBar());
menuBars.put(TestDBTable.class, new TestsMenuBar()); menuBars.put(TestDBTable.class, new TestsMenuBar());
menuBars.put(ConfigurationDBTable.class, new ConfigurationsMenuBar()); menuBars.put(DVMConfigurationDBTable.class, new DVMConfigurationsMenuBar());
menuBars.put(DVMPackageDBTable.class, new DVMPackagesBar()); menuBars.put(DVMPackageDBTable.class, new DVMPackagesBar());
menuBars.put(SapforPackageDBTable.class, new SapforPackagesBar()); menuBars.put(SapforPackageDBTable.class, new SapforPackagesBar());
menuBars.put(DVMRunTasksSet.class, new DVMRunTasksBar()); menuBars.put(DVMRunTasksSet.class, new DVMRunTasksBar());

View File

@@ -1289,9 +1289,9 @@ public class Utils {
return dates.firstElement(); return dates.firstElement();
} }
//------------------------------------------------------->>> //------------------------------------------------------->>>
public static Vector<Integer> unpack(String packed){ public static Vector<Integer> unpackIntegers(String packed, String separator){
Vector<Integer> ids = new Vector<>(); Vector<Integer> ids = new Vector<>();
String[] data = packed.split("\n"); String[] data = packed.split(separator);
if (data.length > 0) { if (data.length > 0) {
for (String s: data) { for (String s: data) {
if (!s.isEmpty()) if (!s.isEmpty())
@@ -1300,9 +1300,9 @@ public class Utils {
} }
return ids; return ids;
} }
public static Vector<String> unpack_s(String packed){ public static Vector<String> unpack_s(String packed, String separator){
Vector<String> ids = new Vector<>(); Vector<String> ids = new Vector<>();
String[] data = packed.split("\n"); String[] data = packed.split(separator);
if (data.length > 0) { if (data.length > 0) {
for (String s: data) { for (String s: data) {
if (!s.isEmpty()) if (!s.isEmpty())

View File

@@ -1,18 +1,113 @@
package TestingSystem.Common; package TestingSystem.Common;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Database.riDBObject; import Common.Database.riDBObject;
import Common.Global;
import Common.Utils.Utils;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import com.sun.org.glassfish.gmbal.Description;
import java.util.LinkedHashMap;
import java.util.Vector; import java.util.Vector;
public class Configuration extends riDBObject { public class Configuration extends riDBObject {
public int maxtime = 300; //лимит времени пуска задачи, входящей в пакет тестов //конфигурация = данные для пакета.
//группы
//тесты
//настройки тестируемого объекта
//пакет = запуск конфигурация + тестируемый объект
//---
@Description("DEFAULT ''")
public String packedGroupsIds = "";
@Description("DEFAULT ''")
public String packedTestsIds = "";
//---
@Description("DEFAULT ''")
public String packedGroupsNames = "";
//---
@Description("DEFAULT 0")
public int groupsCount = 0;
@Description("DEFAULT 0")
public int testsCount = 0;
//--
public int maxtime = 300;
@Description("DEFAULT 0")
public int autoTesting = 0;
public String printAuto(){
return autoTesting>0? "Да":"Нет";
}
//-- //--
public String getFlags(){return "";} public String getFlags(){return "";}
public Vector<String> getFlagsArray(){return new Vector<>();} public Vector<String> getFlagsArray(){return new Vector<>();}
public Vector<String> getGroupsNamesArray(){
return Utils.unpack_s(packedGroupsNames,"\n");
}
//-- //--
@Override @Override
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
Configuration c = (Configuration) src; Configuration c = (Configuration) src;
//--
packedGroupsIds = c.packedGroupsIds;
packedTestsIds = c.packedTestsIds;
//-
packedGroupsNames = c.packedGroupsNames;
//-
groupsCount = c.groupsCount;
testsCount = c.testsCount;
//-
maxtime = c.maxtime; maxtime = c.maxtime;
autoTesting= c.autoTesting;
}
//-
public void saveGroups(Vector<Group> new_groups) {
Vector<String> res = new Vector<>();
Vector<String> names = new Vector<>();
for (Group group : new_groups) {
res.add(String.valueOf(group.id));
names.add(group.description);
}
packedGroupsIds = String.join("\n", res);
packedGroupsNames = String.join("\n", names);
groupsCount = new_groups.size();
}
public void saveTests(Vector<Test> new_tests) {
Vector<String> res = new Vector<>();
for (Test test : new_tests)
res.add(String.valueOf(test.id));
packedTestsIds = String.join("\n", res);
testsCount = new_tests.size();
}
//--
public Vector<Group> getGroups() {
Vector<Group> res = new Vector<>();
for (int o_id : Utils.unpackIntegers(packedGroupsIds, "\n"))
if (Global.testingServer.db.groups.containsKey(o_id))
res.add(Global.testingServer.db.groups.get(o_id));
return res;
}
public Vector<Test> getTests() {
Vector<Test> res = new Vector<>();
for (int o_id : Utils.unpackIntegers(packedTestsIds, "\n"))
if (Global.testingServer.db.tests.containsKey(o_id))
res.add(Global.testingServer.db.tests.get(o_id));
return res;
}
public Vector<Test> getTests(Vector<Group> groups, LinkedHashMap<Integer, Vector<Test>> testByGroups) {
Vector<Test> res = new Vector<>();
for (int o_id : Utils.unpackIntegers(packedTestsIds, "\n"))
if (Global.testingServer.db.tests.containsKey(o_id))
res.add(Global.testingServer.db.tests.get(o_id));
//--
for (Group group: groups){
Vector<Test> groupTests = new Vector<>();
for (Test test:res){
if (test.group_id==group.id)
groupTests.add(test);
}
testByGroups.put(group.id, groupTests);
}
//--
return res;
} }
} }

View File

@@ -47,6 +47,7 @@ public abstract class TestingPackage<J> extends riDBObject {
public int groupsCount = 0; public int groupsCount = 0;
@Description("DEFAULT 0") @Description("DEFAULT 0")
public int testsCount = 0; public int testsCount = 0;
//-- //--
public TasksPackageState state = TasksPackageState.Draft; public TasksPackageState state = TasksPackageState.Draft;
//-- //--
@@ -111,21 +112,21 @@ public abstract class TestingPackage<J> extends riDBObject {
} }
public Vector<DVMConfiguration> getConfigurations() { public Vector<DVMConfiguration> getConfigurations() {
Vector<DVMConfiguration> res = new Vector<>(); Vector<DVMConfiguration> res = new Vector<>();
for (int o_id : Utils.unpack(packedConfigurations)) for (int o_id : Utils.unpackIntegers(packedConfigurations, "\n"))
if (Global.testingServer.db.dvm_configurations.containsKey(o_id)) if (Global.testingServer.db.dvm_configurations.containsKey(o_id))
res.add(Global.testingServer.db.dvm_configurations.get(o_id)); res.add(Global.testingServer.db.dvm_configurations.get(o_id));
return res; return res;
} }
public Vector<Group> getGroups() { public Vector<Group> getGroups() {
Vector<Group> res = new Vector<>(); Vector<Group> res = new Vector<>();
for (int o_id : Utils.unpack(packedGroups)) for (int o_id : Utils.unpackIntegers(packedGroups, "\n"))
if (Global.testingServer.db.groups.containsKey(o_id)) if (Global.testingServer.db.groups.containsKey(o_id))
res.add(Global.testingServer.db.groups.get(o_id)); res.add(Global.testingServer.db.groups.get(o_id));
return res; return res;
} }
public Vector<Test> getTests() { public Vector<Test> getTests() {
Vector<Test> res = new Vector<>(); Vector<Test> res = new Vector<>();
for (int o_id : Utils.unpack(packedTests)) for (int o_id : Utils.unpackIntegers(packedTests, "\n"))
if (Global.testingServer.db.tests.containsKey(o_id)) if (Global.testingServer.db.tests.containsKey(o_id))
res.add(Global.testingServer.db.tests.get(o_id)); res.add(Global.testingServer.db.tests.get(o_id));
return res; return res;

View File

@@ -55,7 +55,6 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
); );
} }
} }
/*
else if (object instanceof DVMPackage) { else if (object instanceof DVMPackage) {
DVMPackage dvmPackage = (DVMPackage) object; DVMPackage dvmPackage = (DVMPackage) object;
//-- //--
@@ -65,11 +64,11 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
dvmPackage.package_json = null; // объект больше не нужен. dvmPackage.package_json = null; // объект больше не нужен.
//-- //--
} }
*/
else if (object instanceof SapforPackage) { else if (object instanceof SapforPackage) {
((SapforPackage) object).init(); ((SapforPackage) object).init();
} }
} }
/*
@Override @Override
protected void afterEditAction(DBObject object) throws Exception { protected void afterEditAction(DBObject object) throws Exception {
if (object instanceof DVMPackage) { if (object instanceof DVMPackage) {
@@ -84,6 +83,7 @@ public class TestingServer extends RepositoryServer<TestsDatabase> {
} }
} }
} }
*/
@Override @Override
public void afterDeleteAction(DBObject object) throws Exception { public void afterDeleteAction(DBObject object) throws Exception {
if (object instanceof Test) { if (object instanceof Test) {

View File

@@ -11,7 +11,7 @@ import TestingSystem.Common.Group.GroupsDBTable;
import TestingSystem.Common.Test.Test; import TestingSystem.Common.Test.Test;
import TestingSystem.Common.Test.TestDBTable; import TestingSystem.Common.Test.TestDBTable;
import TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable; import TestingSystem.Common.TestingPackageToKill.TestingPackagesToKillDBTable;
import TestingSystem.DVM.Configuration.ConfigurationDBTable; import TestingSystem.DVM.Configuration.DVMConfigurationDBTable;
import TestingSystem.DVM.DVMPackage.DVMPackage; import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMPackage.DVMPackageDBTable; import TestingSystem.DVM.DVMPackage.DVMPackageDBTable;
import TestingSystem.DVM.DVMTasks.DVMRunTasksSet; import TestingSystem.DVM.DVMTasks.DVMRunTasksSet;
@@ -34,7 +34,7 @@ import java.util.LinkedHashMap;
import java.util.Vector; import java.util.Vector;
public class TestsDatabase extends SQLiteDatabase { public class TestsDatabase extends SQLiteDatabase {
public ConfigurationDBTable dvm_configurations; public DVMConfigurationDBTable dvm_configurations;
public TestDBTable tests; public TestDBTable tests;
public GroupsDBTable groups; public GroupsDBTable groups;
public DVMPackageDBTable dvmPackages; public DVMPackageDBTable dvmPackages;
@@ -54,7 +54,7 @@ public class TestsDatabase extends SQLiteDatabase {
} }
@Override @Override
protected void initAllTables() throws Exception { protected void initAllTables() throws Exception {
addTable(dvm_configurations = new ConfigurationDBTable()); addTable(dvm_configurations = new DVMConfigurationDBTable());
addTable(groups = new GroupsDBTable()); addTable(groups = new GroupsDBTable());
addTable(tests = new TestDBTable()); addTable(tests = new TestDBTable());
addTable(dvmPackages = new DVMPackageDBTable()); addTable(dvmPackages = new DVMPackageDBTable());

View File

@@ -19,6 +19,8 @@ public class DVMConfiguration extends Configuration {
public String environments="\n"; public String environments="\n";
public String usr_par = ""; public String usr_par = "";
//- //-
//под флагами понимается в данном случае набор цепочек флагов запакованных через энтер.
// скорее всего будет лишь одна цепочка. с окружением похожая ситуация.
@Override @Override
public String getFlags() { public String getFlags() {
return flags; return flags;

View File

@@ -8,21 +8,21 @@ import Common.UI.VisualiserStringList;
import Common.UI.Windows.Dialog.DBObjectDialog; import Common.UI.Windows.Dialog.DBObjectDialog;
import Common.Utils.Utils; import Common.Utils.Utils;
import TestingSystem.DVM.Configuration.UI.ConfigurationFields; import TestingSystem.DVM.Configuration.UI.ConfigurationFields;
public class ConfigurationDBTable extends iDBTable<DVMConfiguration> { public class DVMConfigurationDBTable extends iDBTable<DVMConfiguration> {
public ConfigurationDBTable() { public DVMConfigurationDBTable() {
super(DVMConfiguration.class); super(DVMConfiguration.class);
} }
@Override @Override
public Current CurrentName() { public Current CurrentName() {
return Current.Configuration; return Current.DVMConfiguration;
} }
@Override @Override
public String getSingleDescription() { public String getSingleDescription() {
return "конфигурация тестирования"; return "конфигурация тестирования DVM системы";
} }
@Override @Override
public String getPluralDescription() { public String getPluralDescription() {
return "конфигурации"; return "конфигурации тестирования DVM системы";
} }
@Override @Override
protected DataSetControlForm createUI() { protected DataSetControlForm createUI() {
@@ -34,9 +34,10 @@ public class ConfigurationDBTable extends iDBTable<DVMConfiguration> {
@Override @Override
protected void AdditionalInitColumns() { protected void AdditionalInitColumns() {
// columns.get(0).setVisible(false); // columns.get(0).setVisible(false);
columns.get(4).setRenderer(TableRenderers.RendererMultiline);
columns.get(5).setRenderer(TableRenderers.RendererMultiline); columns.get(5).setRenderer(TableRenderers.RendererMultiline);
columns.get(12).setRenderer(TableRenderers.RendererMultiline); columns.get(7).setRenderer(TableRenderers.RendererMultiline);
columns.get(8).setRenderer(TableRenderers.RendererMultiline);
columns.get(15).setRenderer(TableRenderers.RendererMultiline);
} }
}; };
} }
@@ -45,6 +46,9 @@ public class ConfigurationDBTable extends iDBTable<DVMConfiguration> {
return new String[]{ return new String[]{
"имя", "имя",
"автор", "автор",
"авто",
"группы",
"тестов",
"флаги", "флаги",
"окружение", "окружение",
"c_time", "c_time",
@@ -63,23 +67,31 @@ public class ConfigurationDBTable extends iDBTable<DVMConfiguration> {
return object.description; return object.description;
case 3: case 3:
return object.sender_name; return object.sender_name;
//---
case 4: case 4:
return Utils.unpackStrings(object.flags, true); return object.printAuto();
case 5: case 5:
return Utils.unpackStrings(object.environments, true); return object.getGroupsNamesArray();
case 6: case 6:
return object.c_maxtime; return object.testsCount;
//---
case 7: case 7:
return object.cube; return Utils.unpackStrings(object.flags, true);
case 8: case 8:
return object.max_proc_count; return Utils.unpackStrings(object.environments, true);
case 9: case 9:
return object.min_dim_proc_count; return object.c_maxtime;
case 10: case 10:
return object.max_dim_proc_count; return object.cube;
case 11: case 11:
return object.maxtime; return object.max_proc_count;
case 12: case 12:
return object.min_dim_proc_count;
case 13:
return object.max_dim_proc_count;
case 14:
return object.maxtime;
case 15:
return Utils.unpackStrings(object.usr_par, true); return Utils.unpackStrings(object.usr_par, true);
default: default:
return null; return null;

View File

@@ -1,15 +1,19 @@
package TestingSystem.DVM.Configuration; package TestingSystem.DVM.Configuration;
import Common.UI.Menus_2023.DataMenuBar; import Common.UI.Menus_2023.DataMenuBar;
import Visual_DVM_2021.Passes.PassCode_2021; import Visual_DVM_2021.Passes.PassCode_2021;
public class ConfigurationsMenuBar extends DataMenuBar { public class DVMConfigurationsMenuBar extends DataMenuBar {
public ConfigurationsMenuBar() { public DVMConfigurationsMenuBar() {
super("конфигурации"); super("конфигурации");
addPasses( addPasses(
// PassCode_2021.StartTests, // PassCode_2021.StartTests,
PassCode_2021.PublishConfiguration, PassCode_2021.PublishConfiguration,
PassCode_2021.EditConfiguration, PassCode_2021.EditConfiguration,
PassCode_2021.DeleteConfiguration PassCode_2021.ShowCurrentDVMConfigurationTests,
PassCode_2021.SaveCurrentDVMConfiguration,
PassCode_2021.DeleteConfiguration,
PassCode_2021.StartCurrentDVMConfiguration
); );
} }
} }

View File

@@ -1,14 +1,15 @@
package TestingSystem.DVM.DVMPackage; package TestingSystem.DVM.DVMPackage;
import Common.Constants;
import Common.Current; import Common.Current;
import Common.Database.DBObject; import Common.Database.DBObject;
import Common.Global; import Common.Global;
import GlobalData.Account.Account;
import GlobalData.Compiler.Compiler;
import GlobalData.Machine.Machine; import GlobalData.Machine.Machine;
import GlobalData.Machine.MachineType; import GlobalData.Machine.MachineType;
import GlobalData.User.User; import GlobalData.User.User;
import TestingSystem.Common.Group.Group; import TestingSystem.Common.TasksPackageState;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.TestingPackage.TestingPackage; import TestingSystem.Common.TestingPackage.TestingPackage;
import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask; import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask; import TestingSystem.DVM.DVMTasks.DVMRunTask;
@@ -26,6 +27,30 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
//--- //---
public DVMPackage() { public DVMPackage() {
} }
public DVMPackage(Account account, Machine machine, User user, Compiler compiler){
id = Constants.Nan;
//-
sender_name = account.name;
sender_address = account.email;
//-
machine_name = machine.name;
machine_address = machine.address;
machine_port = machine.port;
//-
user_name = user.login;
user_password = user.password;
user_workspace = user.workspace;
//-
drv = compiler.call_command;
version = compiler.getVersionInfo();
//-
kernels = Global.properties.TestingKernels;
needsEmail = Global.properties.EmailOnTestingProgress ? 1 : 0;
//--
package_json = new DVMPackage_json();
//--
state = TasksPackageState.Queued;
}
@Override @Override
public Class getJsonClass() { public Class getJsonClass() {
return DVMPackage_json.class; return DVMPackage_json.class;

View File

@@ -43,6 +43,7 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
"имя", "имя",
"автор", "автор",
"флаги" "флаги"
// "теневые грани, %"
}; };
} }
@Override @Override
@@ -54,6 +55,8 @@ public class SapforConfigurationDBTable extends iDBTable<SapforConfiguration> {
return object.sender_name; return object.sender_name;
case 4: case 4:
return object.getFlags(); return object.getFlags();
// case 5:
// return object.MAX_SHADOW_WIDTH;
default: default:
return null; return null;
} }

View File

@@ -0,0 +1,53 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.Configuration.DVMConfiguration;
import Visual_DVM_2021.Passes.Server.EditServerObject;
import java.util.Vector;
public class SaveCurrentDVMConfiguration extends EditServerObject<TestingServer, DVMConfiguration> {
Vector<Group> groups;
Vector<Test> tests;
//--
Vector<String> groupsNames;
//--
public SaveCurrentDVMConfiguration() {
super(Global.testingServer, DVMConfiguration.class);
}
@Override
public String getIconPath() {
return "/icons/Save.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean canStart(Object... args) throws Exception {
if (!Current.Check(Log, Current.DVMConfiguration)) return false;
target = Current.getDVMConfiguration();
//--
groups = new Vector<>();
tests = new Vector<>();
//---
groupsNames = new Vector<>();
for (Group group : Global.testingServer.db.groups.getCheckedItems()) {
groups.add(group);
groupsNames.add(group.description);
Vector<Test> groupTests = Global.testingServer.db.tests.getSelectedGroupTests(group);
tests.addAll(groupTests);
}
return true;
}
@Override
protected void ServerAction() throws Exception {
//занесение информации об участвующих группах конфигурациях и тестах
target.saveGroups(groups);
target.saveTests(tests);
//--
super.ServerAction();
}
}

View File

@@ -0,0 +1,53 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.DVM.Configuration.DVMConfiguration;
import Visual_DVM_2021.Passes.Pass_2021;
import java.util.Vector;
public class ShowCurrentDVMConfigurationTests extends Pass_2021<DVMConfiguration> {
@Override
public String getIconPath() {
return "/icons/ShowPassword.png";
}
@Override
public String getButtonText() {
return "";
}
@Override
protected boolean canStart(Object... args) throws Exception {
target = null;
if (Current.Check(Log, Current.DVMConfiguration)) {
target = Current.getDVMConfiguration();
return true;
}
return false;
}
@Override
protected void showPreparation() throws Exception {
Global.testingServer.db.UnselectAllGTC();
}
@Override
protected void showDone() throws Exception {
System.out.println("package="+target.id);
Vector<Group> groups = target.getGroups();
Vector<Test> tests = target.getTests();
//-----
//--
for (Group group: groups)
group.Select(true);
for (Test test: tests)
test.Select(true);
//--
if (!groups.isEmpty()){
Global.testingServer.db.groups.ShowUI(groups.lastElement().id);
}
if (!tests.isEmpty()){
Global.testingServer.db.tests.ShowUI(tests.lastElement().id);
}
}
}

View File

@@ -0,0 +1,167 @@
package Visual_DVM_2021.Passes.All;
import Common.Current;
import Common.Global;
import Common.UI.UI;
import Common.Utils.Utils;
import GlobalData.Compiler.CompilerType;
import GlobalData.Machine.MachineType;
import GlobalData.User.UserState;
import TestingSystem.Common.Group.Group;
import TestingSystem.Common.Test.Test;
import TestingSystem.Common.TestingServer;
import TestingSystem.DVM.Configuration.DVMConfiguration;
import TestingSystem.DVM.DVMPackage.DVMPackage;
import TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import TestingSystem.DVM.DVMTasks.DVMRunTask;
import Visual_DVM_2021.Passes.PassCode_2021;
import Visual_DVM_2021.Passes.Server.PublishServerObject;
import java.util.LinkedHashMap;
import java.util.Vector;
public class StartCurrentDVMConfiguration extends PublishServerObject<TestingServer, DVMPackage> {
Vector<DVMConfiguration> configurations;
Vector<Group> groups;
Vector<Test> tests;
LinkedHashMap<Integer, Vector<Test>> testByGroups;
Vector<DVMCompilationTask> tasks;
int tasks_count;
public StartCurrentDVMConfiguration() {
super(Global.testingServer, DVMPackage.class);
}
//пока пусть будет одна конфигурация и один пакет.
@Override
public String getIconPath() {
return "/icons/Start.png";
}
//--
public static String checkFlags(String flags_in) {
if (!flags_in.contains("-shared-dvm")) {
if (flags_in.isEmpty())
return "-shared-dvm";
else return flags_in + " -shared-dvm";
} else
return flags_in;
}
public static String checkEnvironments(String environmentsSet_in) {
if (!environmentsSet_in.contains("DVMH_NO_DIRECT_COPY")) {
if (environmentsSet_in.isEmpty())
return "DVMH_NO_DIRECT_COPY=" + Utils.DQuotes("1");
else
return environmentsSet_in + " " + "DVMH_NO_DIRECT_COPY=" + Utils.DQuotes("1");
} else
return environmentsSet_in;
}
//--
public Vector<DVMCompilationTask> createTasksCGT(
DVMConfiguration configuration,
Group group,
Test test
) {
Vector<DVMCompilationTask> compilationTasks = new Vector<>();
for (String flags : configuration.getFlagsArray()) {
String checked_flags = checkFlags(flags);
DVMCompilationTask dvmCompilationTask = new DVMCompilationTask(
configuration,
group,
test,
checked_flags
);
Vector<String> matrixes = configuration.getMatrixes(test.max_dim);
Vector<String> environments = configuration.getEnvironments();
for (String environmentSet : environments) {
String checkedEnvironments = checkEnvironments(environmentSet);
if (flags.trim().equalsIgnoreCase("-s")) {
dvmCompilationTask.runTasks.add(new DVMRunTask(
configuration,
group,
test,
"",
checked_flags,
checkedEnvironments,
configuration.getParamsText(),
target.kernels
));
tasks_count++;
} else
for (String matrix : matrixes) {
dvmCompilationTask.runTasks.add(new DVMRunTask(
configuration,
group,
test,
matrix,
checked_flags,
checkedEnvironments,
configuration.getParamsText(),
target.kernels));
tasks_count++;
}
}
compilationTasks.add(dvmCompilationTask);
}
return compilationTasks;
}
//--
@Override
protected boolean canStart(Object... args) throws Exception {
configurations = new Vector<>();
groups = new Vector<>();
tests = new Vector<>();
testByGroups = new LinkedHashMap<>();
tasks = new Vector<>();
tasks_count=0;
//---
if (!Current.getAccount().CheckRegistered(Log)) {
return false;
}
if (!Current.Check(Log, Current.DVMConfiguration)) {
return false;
}
if (Current.Check(Log, Current.Machine, Current.User, Current.Compiler)) {
if (!Current.getMachine().type.equals(MachineType.Server)) {
Log.Writeln_("Тестирование поддерживается только на одиночном удалённом сервере.");
return false;
}
if (!Current.getUser().state.equals(UserState.ready_to_work)) {
Log.Writeln_("Пользователь не готов к работе. Выполните инициализацию пользователя!");
return false;
}
if (!Current.getCompiler().type.equals(CompilerType.dvm)) {
Log.Writeln_("Тестирование поддерживается только для DVM компиляторов.");
return false;
}
if (!Current.getCompiler().versionLoaded)
passes.get(PassCode_2021.ShowCompilerVersion).Do(Current.getCompiler(), false);
//--
target = new DVMPackage(
Current.getAccount(),
Current.getMachine(),
Current.getUser(),
Current.getCompiler()
);
//----
DVMConfiguration configuration = Current.getDVMConfiguration();
configurations.add(configuration);
//--
groups = configuration.getGroups();
tests = configuration.getTests(groups, testByGroups);
//--
for (Group group : groups) {
Vector<Test> groupTests = testByGroups.get(group.id);
for (Test test : groupTests)
tasks.addAll(createTasksCGT(configuration, group, test));
}
return UI.Question("Будет запущено " + tasks_count + " задач. Продолжить");
}
return false;
}
@Override
protected void ServerAction() throws Exception {
//занесение информации об участвующих группах конфигурациях и тестах
target.saveConfigurations(configurations);
target.saveGroups(groups);
target.saveTests(tests);
//--
target.saveTasks(tasks, tasks_count);
super.ServerAction();
}
}

View File

@@ -343,17 +343,27 @@ public enum PassCode_2021 {
ShowSapforCompilationErr, ShowSapforCompilationErr,
GetOldBugReports, GetOldBugReports,
ShowCurrentDVMPackage, ShowCurrentDVMPackage,
SaveCurrentDVMPackage SaveCurrentDVMPackage,
ShowCurrentDVMConfigurationTests,
SaveCurrentDVMConfiguration,
StartCurrentDVMConfiguration,
; ;
//-- //--
public String getDescription() { public String getDescription() {
switch (this) { switch (this) {
case Undefined: case Undefined:
return "?"; return "?";
case StartCurrentDVMConfiguration:
return "Запустить текущую конфигурацию тестирования DVM системы";
case ShowCurrentDVMConfigurationTests:
return "Отметить группы и тесты, участвующие в текущей конфигурации DVM системы";
case SaveCurrentDVMConfiguration:
return "Сохранить информацию о тестах текущей конфигурации DVM системы";
case SaveCurrentDVMPackage: case SaveCurrentDVMPackage:
return "Сохранить текущий пакет тестирования DVM"; return "Сохранить текущий пакет тестирования DVM системы";
case ShowCurrentDVMPackage: case ShowCurrentDVMPackage:
return "Редактировать пакет тестирования DVM"; return "Редактировать пакет тестирования DVM системы";
case GetOldBugReports: case GetOldBugReports:
return "Получить неиспользуемые баг репорты"; return "Получить неиспользуемые баг репорты";
case SPF_RenameIncludes: case SPF_RenameIncludes: