обновление конфигураций для тестирования сапфора. нужно будет еще проверить и рефакторить.

This commit is contained in:
2024-09-19 17:37:34 +03:00
parent 54d86d6e4d
commit 25cd097445
12 changed files with 379 additions and 203 deletions

View File

@@ -30,7 +30,6 @@ public class StartSelectedDVMConfigurations extends PublishServerObject<TestingS
public StartSelectedDVMConfigurations() {
super(Global.testingServer, DVMPackage.class);
}
//пока пусть будет одна конфигурация и один пакет.
@Override
public String getIconPath() {
return "/icons/Start.png";
@@ -110,71 +109,68 @@ public class StartSelectedDVMConfigurations extends PublishServerObject<TestingS
tests = new Vector<>();
testByGroups = new LinkedHashMap<>();
tasks = new Vector<>();
tasks_count=0;
tasks_count = 0;
//---
if (!Current.getAccount().CheckRegistered(Log)) {
return false;
}
if (configurations.isEmpty()){
if (configurations.isEmpty()) {
Log.Writeln_("Не отмечено ни одной конфигурации, или отсутствует текущая конфигурация.");
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.Check(Log, Current.Machine, Current.User, Current.Compiler))
return false;
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()
);
//----
for (DVMConfiguration configuration : configurations) {
ConfigurationCache cache = (ConfigurationCache) VisualCaches.GetCache(configuration);
groups = cache.getGroups();
tests = cache.getTests();
//-
for (Group group : groups) {
Vector<Test> groupTests = new Vector<>();
for (Test test : tests) {
if (test.group_id == group.id)
groupTests.add(test);
}
testByGroups.put(group.id, groupTests);
}
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()
);
//----
for (DVMConfiguration configuration: configurations) {
ConfigurationCache cache = (ConfigurationCache) VisualCaches.GetCache(configuration);
groups = cache.getGroups();
tests = cache.getTests();
//-
for (Group group: groups){
Vector<Test> groupTests = new Vector<>();
for (Test test: tests){
if (test.group_id==group.id)
groupTests.add(test);
}
testByGroups.put(group.id, groupTests);
}
//--
for (Group group : groups) {
Vector<Test> groupTests = testByGroups.get(group.id);
for (Test test : groupTests)
tasks.addAll(createTasksCGT(configuration, group, test));
}
for (Group group : groups) {
Vector<Test> groupTests = testByGroups.get(group.id);
for (Test test : groupTests)
tasks.addAll(createTasksCGT(configuration, group, test));
}
if (tasks_count==0){
Log.Writeln_("Задач не найдено.");
return false;
}
return UI.Question("Будет запущено " + tasks_count + " задач. Продолжить");
}
if (tasks_count == 0) {
Log.Writeln_("Задач не найдено.");
return false;
}
if (UI.Question("Будет запущено " + tasks_count + " задач. Продолжить")){
target.saveConfigurationsAsJson(configurations);
target.saveTasks(tasks, tasks_count);
return true;
}
return false;
}
@Override
protected void ServerAction() throws Exception {
//занесение информации об участвующих конфигурациях
target.saveConfigurationsAsJson(configurations);
target.saveTasks(tasks, tasks_count);
super.ServerAction();
}
}