промежуточный. тестирую новую версий конфигураций
This commit is contained in:
@@ -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();
|
||||
}
|
||||
}
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
167
src/Visual_DVM_2021/Passes/All/StartCurrentDVMConfiguration.java
Normal file
167
src/Visual_DVM_2021/Passes/All/StartCurrentDVMConfiguration.java
Normal 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();
|
||||
}
|
||||
}
|
||||
@@ -343,17 +343,27 @@ public enum PassCode_2021 {
|
||||
ShowSapforCompilationErr,
|
||||
GetOldBugReports,
|
||||
ShowCurrentDVMPackage,
|
||||
SaveCurrentDVMPackage
|
||||
SaveCurrentDVMPackage,
|
||||
|
||||
ShowCurrentDVMConfigurationTests,
|
||||
SaveCurrentDVMConfiguration,
|
||||
StartCurrentDVMConfiguration,
|
||||
;
|
||||
//--
|
||||
public String getDescription() {
|
||||
switch (this) {
|
||||
case Undefined:
|
||||
return "?";
|
||||
case StartCurrentDVMConfiguration:
|
||||
return "Запустить текущую конфигурацию тестирования DVM системы";
|
||||
case ShowCurrentDVMConfigurationTests:
|
||||
return "Отметить группы и тесты, участвующие в текущей конфигурации DVM системы";
|
||||
case SaveCurrentDVMConfiguration:
|
||||
return "Сохранить информацию о тестах текущей конфигурации DVM системы";
|
||||
case SaveCurrentDVMPackage:
|
||||
return "Сохранить текущий пакет тестирования DVM";
|
||||
return "Сохранить текущий пакет тестирования DVM системы";
|
||||
case ShowCurrentDVMPackage:
|
||||
return "Редактировать пакет тестирования DVM";
|
||||
return "Редактировать пакет тестирования DVM системы";
|
||||
case GetOldBugReports:
|
||||
return "Получить неиспользуемые баг репорты";
|
||||
case SPF_RenameIncludes:
|
||||
|
||||
Reference in New Issue
Block a user