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

This commit is contained in:
2025-03-04 16:30:32 +03:00
parent 9c0f3215ad
commit e8d6764563
7 changed files with 107 additions and 33 deletions

8
.idea/workspace.xml generated
View File

@@ -7,10 +7,12 @@
</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/_VisualDVM/ServerObjectsCache/DVMSettingsCache.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$/src/_VisualDVM/ServerObjectsCache/VisualCaches.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ServerObjectsCache/VisualCaches.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/Constants.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsForm.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMSettings/UI/DVMSettingsForm.java" afterDir="false" /> <change beforePath="$PROJECT_DIR$/src/_VisualDVM/ServerObjectsCache/DVMSettingsCache.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/ServerObjectsCache/DVMSettingsCache.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Configuration/Configuration.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/Common/Configuration/Configuration.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackage.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMPackage/DVMPackage.java" afterDir="false" />
<change beforePath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/DVMCompilationTask.java" beforeDir="false" afterPath="$PROJECT_DIR$/src/_VisualDVM/TestingSystem/DVM/DVMTasks/DVMCompilationTask.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

@@ -3,7 +3,7 @@ import Common.Utils.Vector_;
import java.util.Vector; import java.util.Vector;
public class Constants { public class Constants {
public static final int version = 1191; public static final int version = 1192;
public static final int planner_version = 12; public static final int planner_version = 12;
public static final int testingMaxKernels = 64; //вообще говоря, это параметр машины. public static final int testingMaxKernels = 64; //вообще говоря, это параметр машины.
//-- //--
@@ -49,7 +49,7 @@ public class Constants {
// //
//7996 отладочный порт. //7996 отладочный порт.
public static final int ComponentsServerPort = 7995; //7795 public static final int ComponentsServerPort = 7995; //7795
public static final int TestingServerPort = 7996; //7998 public static final int TestingServerPort = 7998; //7998
public static final int SocketTimeout = 0; public static final int SocketTimeout = 0;
//- //-
public static final String ServerAddress = "alex-freenas.ddns.net"; public static final String ServerAddress = "alex-freenas.ddns.net";

View File

@@ -5,7 +5,9 @@ import _VisualDVM.GlobalData.CompilerEnvironment.Json.EnvironmentsSetJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson; import _VisualDVM.GlobalData.CompilerOption.Json.OptionsJson;
import _VisualDVM.GlobalData.CompilerOption.Json.OptionsSetJson; import _VisualDVM.GlobalData.CompilerOption.Json.OptionsSetJson;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings; import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
import javafx.util.Pair;
import java.util.LinkedHashMap;
import java.util.Vector; import java.util.Vector;
public class DVMSettingsCache extends VisualCache { public class DVMSettingsCache extends VisualCache {
public OptionsSetJson optionsSetJson=null; public OptionsSetJson optionsSetJson=null;
@@ -30,11 +32,33 @@ public class DVMSettingsCache extends VisualCache {
for (OptionsJson optionsJson: optionsSetJson.values){ for (OptionsJson optionsJson: optionsSetJson.values){
optionsSummary_.add(optionsJson.toLine()); optionsSummary_.add(optionsJson.toLine());
} }
optionsSummary = String.join("\n", optionsSummary_); optionsSummary = String.join(";\n", optionsSummary_);
Vector<String> environmentsSummary_ = new Vector<>(); Vector<String> environmentsSummary_ = new Vector<>();
for (EnvironmentsJson environmentsJson: environmentsSetJson.values){ for (EnvironmentsJson environmentsJson: environmentsSetJson.values){
environmentsSummary_.add(environmentsJson.toLine()); environmentsSummary_.add(environmentsJson.toLine());
} }
environmentsSummary = String.join("\n", environmentsSummary_); environmentsSummary = String.join(";\n", environmentsSummary_);
}
public Vector<Pair<String, String>> getTasksParameters(){
//уравниваем количество наборов опций и окружений и сопоставляем 1 к 1
Vector<Pair<String, String>> res = new Vector<>();
for (int i=0;i< optionsSetJson.values.size(); ++i){
String optionsLine = optionsSetJson.values.get(i).toLine();
String environmentsLine = (i< environmentsSetJson.values.size())?
environmentsSetJson.values.get(i).toLine() : "";
res.add(new Pair<>(
optionsLine,
environmentsLine));
}
if (optionsSetJson.values.size()<environmentsSetJson.values.size()){
for (int i= optionsSetJson.values.size(); i<environmentsSetJson.values.size(); ++i){
res.add(new Pair<>(
"",
environmentsSetJson.values.get(i).toLine()
));
}
}
return res;
} }
} }

View File

@@ -27,7 +27,7 @@ public class Configuration extends riDBObject {
//настройки тестируемого объекта //настройки тестируемого объекта
//пакет = запуск конфигурация + тестируемый объект //пакет = запуск конфигурация + тестируемый объект
//--- //---
public int maxtime = 300; public int maxtime = 60;
@Description("DEFAULT 0") @Description("DEFAULT 0")
public int autoTesting = 0; public int autoTesting = 0;
@Description("DEFAULT 1") @Description("DEFAULT 1")

View File

@@ -1,6 +1,7 @@
package _VisualDVM.TestingSystem.DVM.DVMPackage; package _VisualDVM.TestingSystem.DVM.DVMPackage;
import Common.CommonConstants; import Common.CommonConstants;
import Common.Database.Objects.DBObject; import Common.Database.Objects.DBObject;
import Common.Utils.Utils_;
import _VisualDVM.ComponentsServer.UserAccount.UserAccount; import _VisualDVM.ComponentsServer.UserAccount.UserAccount;
import _VisualDVM.Global; import _VisualDVM.Global;
import _VisualDVM.GlobalData.Compiler.Compiler; import _VisualDVM.GlobalData.Compiler.Compiler;
@@ -8,6 +9,7 @@ import _VisualDVM.GlobalData.Machine.Machine;
import _VisualDVM.GlobalData.Machine.MachineType; import _VisualDVM.GlobalData.Machine.MachineType;
import _VisualDVM.GlobalData.User.User; import _VisualDVM.GlobalData.User.User;
import _VisualDVM.ServerObjectsCache.DVMConfigurationCache; import _VisualDVM.ServerObjectsCache.DVMConfigurationCache;
import _VisualDVM.ServerObjectsCache.DVMSettingsCache;
import _VisualDVM.ServerObjectsCache.VisualCaches; import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.Group.Group; import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.Common.TasksPackageState; import _VisualDVM.TestingSystem.Common.TasksPackageState;
@@ -16,7 +18,8 @@ import _VisualDVM.TestingSystem.Common.TestingPackage.TestingPackage;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration; import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings; import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask; import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMCompilationTask;
import com.sun.org.glassfish.gmbal.Description; import _VisualDVM.TestingSystem.DVM.DVMTasks.DVMRunTask;
import javafx.util.Pair;
import java.io.File; import java.io.File;
import java.util.Vector; import java.util.Vector;
@@ -66,9 +69,47 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
for (Group group : cache.getGroups()) { for (Group group : cache.getGroups()) {
for (Test test : cache.getGroupTests(group)) { for (Test test : cache.getGroupTests(group)) {
for (DVMSettings dvmSettings : cache.getSettings()) { for (DVMSettings dvmSettings : cache.getSettings()) {
DVMCompilationTask compilationTask = new DVMCompilationTask(configuration, dvmSettings, group, test, kernels); //---
compilationTasks.add(compilationTask); DVMSettingsCache settingsCache = (DVMSettingsCache) VisualCaches.GetCache(dvmSettings);
tasksCount += compilationTask.runTasks.size(); Vector<Pair<String, String>> params = settingsCache.getTasksParameters();
//---
for (Pair<String, String> p: params) {
//--
String options_ = completeOptions(p.getKey());
String environments_ = completeEnvironments(p.getValue());
//--
DVMCompilationTask compilationTask =
new DVMCompilationTask(configuration, options_, group, test);
compilationTasks.add(compilationTask);
//--
Vector<String> matrixes = dvmSettings.getMatrixes(test.max_dim);
if (p.getKey().trim().equalsIgnoreCase("-s")) {
compilationTask.runTasks.add(new DVMRunTask(
configuration,
dvmSettings,
group,
test,
"",
options_,
environments_,
kernels
));
}else {
for (String matrix : matrixes) {
compilationTask.runTasks.add(new DVMRunTask(
configuration,
dvmSettings,
group,
test,
matrix,
options_,
environments_,
kernels));
}
}
//--
tasksCount += compilationTask.runTasks.size();
}
} }
} }
} }
@@ -111,5 +152,22 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
public String getMachineURL(){ public String getMachineURL(){
return machine_address + ":" + machine_port; return machine_address + ":" + machine_port;
} }
public static String completeOptions(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 completeEnvironments(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;
}
} }

View File

@@ -7,7 +7,7 @@ import com.sun.org.glassfish.gmbal.Description;
import java.util.Vector; import java.util.Vector;
public class DVMSettings extends Settings { public class DVMSettings extends Settings {
//todo.вывести. хранить флаги и окружение в json чтобы можно было в форме их видеть. //todo.вывести. хранить флаги и окружение в json чтобы можно было в форме их видеть.
public String environments = ""; //public String environments = "";
@Description("DEFAULT 0") @Description("DEFAULT 0")
public int Is_DVM_STAT = 0; //флаг вмест usr par, которые не использовались. public int Is_DVM_STAT = 0; //флаг вмест usr par, которые не использовались.
//--- //---
@@ -29,7 +29,7 @@ public class DVMSettings extends Settings {
public void SynchronizeFields(DBObject src) { public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src); super.SynchronizeFields(src);
DVMSettings c = (DVMSettings) src; DVMSettings c = (DVMSettings) src;
environments = c.environments; //todo вывести. // environments = c.environments; //todo вывести.
Is_DVM_STAT = c.Is_DVM_STAT; Is_DVM_STAT = c.Is_DVM_STAT;
packedCompilationOptionsJson = ((DVMSettings) src).packedCompilationOptionsJson; packedCompilationOptionsJson = ((DVMSettings) src).packedCompilationOptionsJson;
packedRunEnvironmentValuesJson = ((DVMSettings) src).packedRunEnvironmentValuesJson; packedRunEnvironmentValuesJson = ((DVMSettings) src).packedRunEnvironmentValuesJson;

View File

@@ -1,9 +1,7 @@
package _VisualDVM.TestingSystem.DVM.DVMTasks; package _VisualDVM.TestingSystem.DVM.DVMTasks;
import Common.Utils.Utils_;
import _VisualDVM.TestingSystem.Common.Group.Group; import _VisualDVM.TestingSystem.Common.Group.Group;
import _VisualDVM.TestingSystem.Common.Test.Test; import _VisualDVM.TestingSystem.Common.Test.Test;
import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration; import _VisualDVM.TestingSystem.DVM.DVMConfiguration.DVMConfiguration;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
import com.google.gson.annotations.Expose; import com.google.gson.annotations.Expose;
import java.util.List; import java.util.List;
@@ -15,10 +13,18 @@ public class DVMCompilationTask extends DVMTask {
public DVMCompilationTask() { public DVMCompilationTask() {
} }
//-- //--
public DVMCompilationTask(DVMConfiguration configuration, String flags_in, Group group, Test test) {
super(configuration, group, test, flags_in);
maxtime = configuration.c_maxtime;
}
/*
public DVMCompilationTask(DVMConfiguration configuration, DVMSettings dvmSettings, Group group, Test test, int kernels_in) { public DVMCompilationTask(DVMConfiguration configuration, DVMSettings dvmSettings, Group group, Test test, int kernels_in) {
super(configuration, group, test, checkFlags(dvmSettings.flags)); super(configuration, group, test, checkFlags(dvmSettings.flags));
maxtime = configuration.c_maxtime; maxtime = configuration.c_maxtime;
Vector<String> matrixes = dvmSettings.getMatrixes(test.max_dim); Vector<String> matrixes = dvmSettings.getMatrixes(test.max_dim);
String checkedEnvironments = checkEnvironments(dvmSettings.environments); String checkedEnvironments = checkEnvironments(dvmSettings.environments);
if (dvmSettings.flags.trim().equalsIgnoreCase("-s")) { if (dvmSettings.flags.trim().equalsIgnoreCase("-s")) {
runTasks.add(new DVMRunTask( runTasks.add(new DVMRunTask(
@@ -44,24 +50,8 @@ public class DVMCompilationTask extends DVMTask {
kernels_in)); kernels_in));
} }
} }
*/
//-- //--
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;
}
@Override @Override
public Vector<String> pack(Object arg) { public Vector<String> pack(Object arg) {
Vector<String> res = new Vector<>(); Vector<String> res = new Vector<>();