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

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

View File

@@ -3,7 +3,7 @@ import Common.Utils.Vector_;
import java.util.Vector;
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 testingMaxKernels = 64; //вообще говоря, это параметр машины.
//--
@@ -49,7 +49,7 @@ public class Constants {
//
//7996 отладочный порт.
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 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.OptionsSetJson;
import _VisualDVM.TestingSystem.DVM.DVMSettings.DVMSettings;
import javafx.util.Pair;
import java.util.LinkedHashMap;
import java.util.Vector;
public class DVMSettingsCache extends VisualCache {
public OptionsSetJson optionsSetJson=null;
@@ -30,11 +32,33 @@ public class DVMSettingsCache extends VisualCache {
for (OptionsJson optionsJson: optionsSetJson.values){
optionsSummary_.add(optionsJson.toLine());
}
optionsSummary = String.join("\n", optionsSummary_);
optionsSummary = String.join(";\n", optionsSummary_);
Vector<String> environmentsSummary_ = new Vector<>();
for (EnvironmentsJson environmentsJson: environmentsSetJson.values){
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")
public int autoTesting = 0;
@Description("DEFAULT 1")

View File

@@ -1,6 +1,7 @@
package _VisualDVM.TestingSystem.DVM.DVMPackage;
import Common.CommonConstants;
import Common.Database.Objects.DBObject;
import Common.Utils.Utils_;
import _VisualDVM.ComponentsServer.UserAccount.UserAccount;
import _VisualDVM.Global;
import _VisualDVM.GlobalData.Compiler.Compiler;
@@ -8,6 +9,7 @@ import _VisualDVM.GlobalData.Machine.Machine;
import _VisualDVM.GlobalData.Machine.MachineType;
import _VisualDVM.GlobalData.User.User;
import _VisualDVM.ServerObjectsCache.DVMConfigurationCache;
import _VisualDVM.ServerObjectsCache.DVMSettingsCache;
import _VisualDVM.ServerObjectsCache.VisualCaches;
import _VisualDVM.TestingSystem.Common.Group.Group;
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.DVMSettings.DVMSettings;
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.util.Vector;
@@ -66,9 +69,47 @@ public class DVMPackage extends TestingPackage<DVMPackage_json> {
for (Group group : cache.getGroups()) {
for (Test test : cache.getGroupTests(group)) {
for (DVMSettings dvmSettings : cache.getSettings()) {
DVMCompilationTask compilationTask = new DVMCompilationTask(configuration, dvmSettings, group, test, kernels);
compilationTasks.add(compilationTask);
tasksCount += compilationTask.runTasks.size();
//---
DVMSettingsCache settingsCache = (DVMSettingsCache) VisualCaches.GetCache(dvmSettings);
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(){
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;
public class DVMSettings extends Settings {
//todo.вывести. хранить флаги и окружение в json чтобы можно было в форме их видеть.
public String environments = "";
//public String environments = "";
@Description("DEFAULT 0")
public int Is_DVM_STAT = 0; //флаг вмест usr par, которые не использовались.
//---
@@ -29,7 +29,7 @@ public class DVMSettings extends Settings {
public void SynchronizeFields(DBObject src) {
super.SynchronizeFields(src);
DVMSettings c = (DVMSettings) src;
environments = c.environments; //todo вывести.
// environments = c.environments; //todo вывести.
Is_DVM_STAT = c.Is_DVM_STAT;
packedCompilationOptionsJson = ((DVMSettings) src).packedCompilationOptionsJson;
packedRunEnvironmentValuesJson = ((DVMSettings) src).packedRunEnvironmentValuesJson;

View File

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